為什麼導入NumPy 時多處理會在單核上停止
當嘗試使用joblib 並行化CPU 密集型循環時,您可能會遇到所有工作進程都分配給同一核心的問題,導致沒有效能提升。發生這種情況是由於某些 Python 模組(包括 NumPy)在導入時操縱核心關聯性。
根本原因:
NumPy 連結到多執行緒OpenBLAS 函式庫,這會幹擾核心關聯性
解:解決方案:
要解決此問題,請使用下列指令重設任務親和性:<code class="python">os.system("taskset -p 0xff %d" % os.getpid())</code>
替代解決方案:
以上是為什麼導入 NumPy 後單核心上的多重處理會停止?的詳細內容。更多資訊請關注PHP中文網其他相關文章!