Reputation: 237
I am building my Python environment around micromamba
.
I was wondering how can I use the Anaconda channels to download packages as described in conda channels: https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html.
By default micromamba
is configured to work with conda-forge
yet I'd like to access the numpy and scipy packages of Anaconda (Which are compiled using MKL).
I am asking since when I install from conda-forge
by looking at the configuration of numpy I get:
python -c "import numpy as np; np.show_config()"
blas_info:
libraries = ['cblas', 'blas', 'cblas', 'blas', 'cblas', 'blas']
library_dirs = ['C:/Applications/Python\\Library\\lib']
include_dirs = ['C:/Applications/Python\\Library\\include']
language = f77
define_macros = [('HAVE_CBLAS', None)]
blas_opt_info:
define_macros = [('NO_ATLAS_INFO', 1), ('HAVE_CBLAS', None)]
libraries = ['cblas', 'blas', 'cblas', 'blas', 'cblas', 'blas']
library_dirs = ['C:/Applications/Python\\Library\\lib']
include_dirs = ['C:/Applications/Python\\Library\\include']
language = f77
lapack_info:
libraries = ['lapack', 'blas', 'lapack', 'blas']
library_dirs = ['C:/Applications/Python\\Library\\lib']
language = f77
lapack_opt_info:
libraries = ['lapack', 'blas', 'lapack', 'blas', 'cblas', 'blas', 'cblas', 'blas', 'cblas', 'blas']
library_dirs = ['C:/Applications/Python\\Library\\lib']
language = f77
define_macros = [('NO_ATLAS_INFO', 1), ('HAVE_CBLAS', None)]
include_dirs = ['C:/Applications/Python\\Library\\include']
Supported SIMD extensions in this NumPy install:
baseline = SSE,SSE2,SSE3
found = SSSE3,SSE41,POPCNT,SSE42,AVX,F16C,FMA3,AVX2,AVX512F,AVX512CD,AVX512_SKX,AVX512_CLX
not found = AVX512_CNL
Which doesn't seem to be linked to MKL.
Upvotes: 2
Views: 2179
Reputation: 76820
You don't need to use the Anaconda builds to use MKL. Conda Forge uses a different strategy for integrating BLAS/LAPACK implementations, which can mask the info shown from np.show_config()
(some details here). Adding the specification
'blas=*=*mkl'
to your package specifications (either in YAML or in conda install
) will ensure Conda Forge NumPy, etc. will use MKL.
Otherwise, one can switch to using Anaconda packages by adding the anaconda
channel, as in this answer1. Just be aware that channel mixing can be messy. Personally, I would just stick to Conda Forge.
[1]: While I previously recommended using anaconda
channel in the other answer, I have since read up more the Conda Forge strategy.
Upvotes: 3