Conda 想要将我的 blas、lapack 等软件包从 mkl 降级为 openblas 版本。我知道 conda 与 mkl 和 openblas 的混合似乎并不是一个不常见的问题。然而,我还没有找到适合我的解决方案。我已经安装了这些软件包
blas 2.113 mkl conda-forge
blas-devel 3.9.0 13_linux64_mkl conda-forge
libblas 3.9.0 13_linux64_mkl conda-forge
libcblas 3.9.0 13_linux64_mkl conda-forge
liblapack 3.9.0 13_linux64_mkl conda-forge
liblapacke 3.9.0 13_linux64_mkl conda-forge
mkl 2022.0.1 h06a4308_117
mkl-devel 2022.0.1 h66538d2_117
mkl-include 2022.0.1 h06a4308_117
mkl-service 2.4.0 py39h404a4ab_0 conda-forge
mkl_fft 1.3.1 py39h6964271_2 conda-forge
mkl_random 1.2.2 py39h8b66066_1 conda-forge
Run Code Online (Sandbox Code Playgroud)
我有一个.condarc(在linux上)包含
channels:
- conda-forge
- defaults
dependencies:
- python>=3.6
- numpy>=1.13
- scipy>=0.18
- cython>=0.29
- mkl
- mkl-devel
- libblas=*=*mkl
- bottleneck
- pip
- setuptools>=30.3.0
- h5py
- pyyaml
- pytest
ssl_verify: true
auto_activate_base: false
Run Code Online (Sandbox Code Playgroud)
此外,在conda-meta目录中我有一个pinned文件,其中包含行libblas=*=*mkl. 然而,据此conda update --all建议:
The following packages will be DOWNGRADED:
... other pkgs ...
libblas 3.9.0-13_linux64_mkl --> 3.9.0-13_linux64_openblas
libcblas 3.9.0-13_linux64_mkl --> 3.9.0-13_linux64_openblas
liblapack 3.9.0-13_linux64_mkl --> 3.9.0-13_linux64_openblas
Run Code Online (Sandbox Code Playgroud)
尽管有.condarc和pinned文件,为什么我会从 mkl 切换到 openblas,我还能做些什么来阻止它?
请参阅https://conda-forge.org/docs/maintainer/knowledge_base.html#switching-blas-implementation末尾的注释部分
如果您想致力于特定的 blas 实现,您可以通过将 blas 实现固定在您的环境中来防止 conda 切换回来。要提交 mkl,请添加
blas=*=mkl到<conda-root>/envs/<env-name>/conda-meta/pinned,如 conda-docs 中所述。
| 归档时间: |
|
| 查看次数: |
3169 次 |
| 最近记录: |