是否有一种配置,在该配置下,numpy 操作将在多个内核/线程上工作



如果是,哪个?

我感兴趣的具体例子是np.einsum

我真的很困惑OPENBLAS/BLAS/LAPACK/ATLAS/Intel MKL提供什么。

我尝试阅读有关此内容并安装软件包,但弄得一团糟,所以我决定回到基础。

理想的答案将是是/否,如果答案是肯定,则是执行此操作的功能和配置的示例。通过配置,我的意思是操作系统,python/numpy/BLAS/LAPACK等版本

谢谢

为了消除你的困惑:

  • BLAS 和 LAPACK 是标准化的 API(您可以将它们视为头文件)
  • OpenBLAS、ATLAS 和 MKL 提供了这些 API 的优化实现。 如果你有MKL,你应该被覆盖,否则我推荐OpenBLAS而不是ATLAS。

如果没有另行说明,BLAS 库将检查某些环境变量以决定使用多少线程。 如果没有定义更具体的变量,大多数库将默认为 OMP_NUM_THREADS ,因此在例如 4 个线程上运行,尝试

export OMP_NUM_THREADS=4

在开始程序之前。 有关如何控制线程的更多详细信息,请查看 BLAS 实现手册/文档。

相关内容

  • 没有找到相关文章

最新更新