首頁  >  文章  >  後端開發  >  當 OMP_NUM_THREADS=1 失敗時如何限制 NumPy 執行緒利用率?

當 OMP_NUM_THREADS=1 失敗時如何限制 NumPy 執行緒利用率?

Patricia Arquette
Patricia Arquette原創
2024-10-19 12:49:02876瀏覽

How to Limit NumPy Thread Utilization When OMP_NUM_THREADS=1 Fails?

限制 NumPy 中的執行緒數

當您設定 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn