すべてのプロセスは同じコアで実行されます。

すべてのプロセスは同じコアで実行されます。

私のコンピュータのすべてのプロセスが単一のコアでのみ実行されており、コアの好みが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))

htopは次のとおりです ここに画像の説明を入力してください。 重要な親和性は次のとおりです。

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

おすすめ記事