首頁  >  文章  >  後端開發  >  如何限制 NumPy 中的執行緒數以獲得最佳效能?

如何限制 NumPy 中的執行緒數以獲得最佳效能?

Patricia Arquette
Patricia Arquette原創
2024-10-19 12:28:29457瀏覽

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