簡體   English   中英

如何限制 scipy.integrate.quad 使用的 CPU 內核

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM