![](/img/trans.png)
[英]How to limit number of function calls in scipy.integrate.quad?
[英]How to limit the CPU-cores used by scipy.integrate.quad
我有一個使用 scipy.integrate.quad() 的程序。 當我使用它時,我注意到它使用了我 PC 上的所有內核,這是我不想要的,因為我想在多個內核上並行運行這個腳本。 有什么辦法限制function?
在導入 scipy 和 numpy 之前,我已經嘗試使用此命令對其進行限制:
import os
import sys
os.environ.update(
OMP_NUM_THREADS='1',
OPENBLAS_NUM_THREADS='1',
NUMEXPR_NUM_THREADS='1',
MKL_NUM_THREADS='1',
)
不幸的是,這也沒有幫助。 還有其他我可以嘗試的事情嗎? 我的 scipy 使用 openblas 以防萬一。
您的計算機使用的內核由操作系統的較低層處理。 無法修改用於一個進程的核心數量。 如果你想並行運行程序多次,你應該使用多線程,讓計算機自己處理工作量
Quad 本身不應該使用並行性。 您正在集成的 function 是什么? (如果它有線性代數,它可能是默認使用所有內核的 openblas 等)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.