“nomkl”Python 包的用途是什么?

dsi*_*ngh 10 python intel-mkl conda

我遇到了一个安装nomklPython 包的脚本:

conda install nomkl
Run Code Online (Sandbox Code Playgroud)

套餐是什么nomkl?它是用来做什么的?我试图搜索它,但在网上找不到任何关于它的描述。

mer*_*erv 11

nomkl包不是 Python 包,而是 Conda 文档所指的互斥元包。其唯一目的是切换环境中不同构建变体配置的使用。在这种特定情况下,它控制其他软件包(例如 NumPy)是否使用 Intel 的 MKL 库来实现 BLAS 或其他内容(例如 OpenBLAS)。也就是说,许多其他包在构建期间链接到 BLAS 库,因此存在引用 MKL 或 OpenBLAS 符号的等效版本的包(例如 NumPy)。

@deceze 在评论中删除的关于 MKL Optimizations 1 的Anaconda 文档nomkl有具体的详细信息。然而,自 Anaconda 2023.03-0 以来,似乎已经放弃了nomkl直接blas=*=openblas在包本身中包含与 MKL 不兼容的anaconda平台(如osx-arm64 )的规范(请参阅发行说明)。这实际上是相同的,因为这与nomkl定义的约束相同。


[1]:原始链接已失效,现在指向 Wayback Machine 副本。