neoml icon indicating copy to clipboard operation
neoml copied to clipboard

Can MKL be made non-mandatory?

Open KOLANICH opened this issue 5 years ago • 7 comments

KOLANICH avatar Jun 17 '20 14:06 KOLANICH

No. Could you describe your scenario? Why is this a problem?

SAngeliuk avatar Jun 17 '20 17:06 SAngeliuk

Just don't want to use a proprietary library taking more than a GiB.

KOLANICH avatar Jun 17 '20 18:06 KOLANICH

It’s only 15MB in binaries (our total size). Sorry, we have no plans to do any non-MKL mode. It gives us a good performance!

SAngeliuk avatar Jun 18 '20 14:06 SAngeliuk

It’s only 15MB in binaries (our total size).

The following additional packages will be installed:
  libmkl-avx libmkl-avx2 libmkl-avx512 libmkl-avx512-mic libmkl-computational-dev libmkl-core libmkl-def libmkl-dev libmkl-gf-ilp64 libmkl-gf-lp64 libmkl-gnu-thread libmkl-intel-ilp64 libmkl-intel-lp64
  libmkl-intel-thread libmkl-interface-dev libmkl-locale libmkl-mc libmkl-mc3 libmkl-meta-computational libmkl-meta-interface libmkl-meta-threading libmkl-pgi-thread libmkl-rt libmkl-sequential
  libmkl-tbb-thread libmkl-threading-dev libmkl-vml-avx libmkl-vml-avx2 libmkl-vml-avx512 libmkl-vml-avx512-mic libmkl-vml-cmpt libmkl-vml-def libmkl-vml-mc libmkl-vml-mc2 libmkl-vml-mc3 libomp-10-dev
  libomp-dev libomp5-10
Suggested packages:
  intel-mkl-doc libomp-10-doc
The following packages will be REMOVED:
  libomp-11-dev libomp5-11
The following NEW packages will be installed:
  intel-mkl libmkl-avx libmkl-avx2 libmkl-avx512 libmkl-avx512-mic libmkl-computational-dev libmkl-core libmkl-def libmkl-dev libmkl-gf-ilp64 libmkl-gf-lp64 libmkl-gnu-thread libmkl-intel-ilp64
  libmkl-intel-lp64 libmkl-intel-thread libmkl-interface-dev libmkl-locale libmkl-mc libmkl-mc3 libmkl-meta-computational libmkl-meta-interface libmkl-meta-threading libmkl-pgi-thread libmkl-rt
  libmkl-sequential libmkl-tbb-thread libmkl-threading-dev libmkl-vml-avx libmkl-vml-avx2 libmkl-vml-avx512 libmkl-vml-avx512-mic libmkl-vml-cmpt libmkl-vml-def libmkl-vml-mc libmkl-vml-mc2 libmkl-vml-mc3
  libomp-10-dev libomp-dev libomp5-10
0 upgraded, 39 newly installed, 2 to remove and 0 not upgraded.
Need to get 271 MB of archives.
After this operation, 1713 MB of additional disk space will be used.

Which of them do I need? Also I wanna know if you are ready to accept a PR implementing an MKL-less configuration.

KOLANICH avatar Jun 18 '20 14:06 KOLANICH

@KOLANICH, NeoML requires the following libraries: mkl-core, mkl-sequential, mkl-intel and so you can try to run the command to get them (Debian Linux for example): sudo apt install libmkl-core libmkl-sequential libmkl-intel-lp64 It's about 30 MB.

TemplateVoid avatar Jun 18 '20 15:06 TemplateVoid

@KOLANICH Sorry, this is the wrong way to install MKL. Unfortunately true way is: sudo apt install libmkl-dev It will require downloading 250 megabytes from repo :(. We are ready to accept your PR but it's difficult to match MKL in performance.

TemplateVoid avatar Jun 22 '20 14:06 TemplateVoid

but it's difficult to match MKL in performance.

... if one is using a chip by Intel (I use one by AMD). Thanks for the instructions though.

KOLANICH avatar Jun 22 '20 14:06 KOLANICH