首页  >  文章  >  后端开发  >  如何限制 NumPy 中的线程数以获得最佳性能?

如何限制 NumPy 中的线程数以获得最佳性能?

Patricia Arquette
Patricia Arquette原创
2024-10-19 12:28:29461浏览

How to Restrict Thread Count in NumPy for Optimal Performance?

限制 NumPy 中的线程数

NumPy 利用 BLAS 等多 CPU 库来进行高效的数值计算。但是,您可能会遇到默认线程数 (4) 过多的情况。为了解决这个问题,您可以利用特定的环境标志。

在执行 NumPy 脚本之前,请考虑设置以下标志:

export MKL_NUM_THREADS=1
export NUMEXPR_NUM_THREADS=1
export OMP_NUM_THREADS=1

MKL_NUM_THREADS 标志设置英特尔数学允许的线程数内核库(MKL)。 NUMEXPR_NUM_THREADS 控制 NumExpr 的线程,用于快速数值计算。最后,OMP_NUM_THREADS 管理 OpenMP 使用的线程计数,OpenMP 是 C/C /Fortran 并行编程的行业标准。

设置这些标志可确保 NumPy 中的所有库都遵守严格的线程限制 1。可以增强矩阵乘法和其他无法从多线程中受益的操作的性能。

请注意,如果您在设置上述标志后遇到问题,则可能表明代码库中的其他地方引入了多线程。在这种情况下,需要进行额外的调查。

以上是如何限制 NumPy 中的线程数以获得最佳性能?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn