私のコンピュータのすべてのプロセスが単一のコアでのみ実行されており、コアの好みが0に設定されていることがわかりました。これはこれを再現する小さなPythonスクリプトです。
import multiprocessing
import numpy as np
def do_a_lot_of_compute(a):
for i in range(1000):
a = a * np.random.randn(123789)
return a
if __name__ == '__main__':
with multiprocessing.Pool() as pool:
pool.map(do_a_lot_of_compute, np.arange(10000))
pid 15977's current affinity list: 0
pid 15978's current affinity list: 0
pid 15979's current affinity list: 0
pid 15980's current affinity list: 0
pid 15981's current affinity list: 0
pid 15982's current affinity list: 0
pid 15983's current affinity list: 0
pid 15984's current affinity list: 0
pid 15985's current affinity list: 0
だから私の質問は次のように要約されます。なぜコアの類似性はすべてゼロに設定されますか? OMP または KMP 環境変数が設定されていません。
答え1
SLURM
この問題PBS
は、要求されたコアの数に基づいてコアの好みを設定することに関連しています。SLURM
すべてのコアを使用するには、次の行を追加してください。
#SBATCH --cpus-per-task=8