Skip to content

[MKL-DNN] How to tell javacpp to compile and use mkl-dnn with system-provided MKL? #629

@blueberry

Description

@blueberry

Hi,

Javacpp's mkl-dnn works well for me, but I have the following problem:

In my project, I have a code that loads and calls system-wide MKL (via mkl_rt), which in turn loads libiomp.so. Javacpp's mkl-dnn builds mkldnn to use a custom mklml build that it packs itself. That's all right. However, the problem arises when both MKL distributions try to load libiomp.so - MKL itself check whether that happens and kills the process with the message that it doesn't allow two instances of libiomp to be loaded at the same time (there is a workaround to tell it to ignore this, but it is out of the question because it slows MKL many times).

I'm trying to build a custom build of javacpp/mkldnn that will configure mkldnn to use MKL provided by the system. I've successfully built mkldnn to do that, but the thinkering that I've tried in javacpp lead me to no success - later I figured out that I can't even build javacpp/mkldnn without changes (#628).

Anyway, how should I approach this?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions