当您设置 OMP_NUM_THREADS=1 但发现 Numpy 仍在使用多个线程时,需要采用不同的方法。 Numpy 很可能使用基本线性代数子程序 (BLAS) 库进行数值计算,该库本身可能利用多个线程。
为了限制 NumPy 使用的线程数,您可以设置某些执行脚本之前的环境标志。尝试设置以下内容:
export MKL_NUM_THREADS=1 export NUMEXPR_NUM_THREADS=1 export OMP_NUM_THREADS=1
需要注意的是,代码中多线程的确切来源有时很难识别。正如其他响应所述,其他库也可能引入多线程。这些环境标志可能在所有情况下都有效,也可能不会有效,但它们是一个很好的起点。
以上是当 OMP_NUM_THREADS=1 失败时如何限制 NumPy 线程利用率?的详细内容。更多信息请关注PHP中文网其他相关文章!