oneapi-src/oneDNN

Q: Howto build mkl_tiny?

banderlog opened this issue ยท 6 comments

OpenVINO has some 30MB libmkl_tiny_tbb.so, which is:

"The special version of MKL dynamic library packed specially to use within Inference Engine library.", as stated in version.txt.

MKL-DNN has 125MB libmklml_gnu.so. Is there a way to build a ~30MB file from MKL-DNN git hub repo?

Hi @banderlog,

I guess mkl_tiny is built using Custom DLL builder. The size of the resulting library depends on how many symbols you put in it. IIRC, mkl_tiny has only gemm and maybe very few extra functions, while mklml has many more functions from BLAS, some LAPACK functions, and even functions from VML/VSL domain.

@banderlog,

It's important to note that libmkl_tiny_tbb.so is a derivative of Intel MKL. This repository does not include this library or any of it's sources.

Thank you guys, I'll conclude that the answer is 'No'

Hey - the user also posted this question in Stack Overflow - I posted the answer there and the link to this thread.

@banderlog, that's correct. Let me expand the answer.

The only way to build libmkl_tiny_tbb.so is from Intel MKL package using custom shared object building tool.

The functionality equivalent to libmkl_tiny_tbb.so is available in DNNL v1.x and above. OpenVINO will stop using libmkl_tiny_tbb.so in the next release and this library will not be required anymore to build it.

And worth to mention that a release build of libdnnl.so is "only" about 20MB.