Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the "nomkl" Python package used for?

I came across a script that installs the nomkl Python package:

conda install nomkl

What is the package nomkl? What it is used for? I tried to search it but could not find any description of it on the web.

like image 611
dsingh Avatar asked Feb 16 '21 13:02

dsingh


People also ask

What does the conda nomkl package do?

Right now having the conda nomkl package installed is a comfortable way to ensure that numpy is linking to openblas instead of Intel mkl, which is (in my experience) slower for AMD processors. If the no mkl package is installed, the conda pytorch installation resolves to an older pytorch version.

How to install PyTorch with nomkl?

To get pytorch 1.5 with nomkl, one can simply install pytorch 1.5 via pip. cc @ezyang@seemethere The text was updated successfully, but these errors were encountered:

How do I install NumPy in Python buildpack?

Install numpy with pip: pip install numpy Or use your operating system package manager. Apparently the buildpack isn’t prepared to install pre-requirements such as numpy. The above output is from python buildpack version 1.6.25. As of of this writing the most recent version is 1.6.28.


Video Answer


1 Answers

The nomkl package is not a Python package, but instead what the Conda documentation refers to as a mutex metapackage. Its sole purpose is to toggle the use of different build variant configurations in an environment. In this specific case, it controls whether other packages (such as NumPy) use Intel's MKL library for their BLAS implementation or something else (e.g., OpenBLAS). That is, many other packages link against the BLAS library during build and so there are equivalent versions of packages like NumPy that reference MKL or OpenBLAS symbols. The Anaconda documentation on MKL Optimizations that @deceze dropped in the comments has details on nomkl specifically.

like image 138
merv Avatar answered Oct 18 '22 02:10

merv