모든 프로세스는 동일한 코어에서 실행됩니다.

모든 프로세스는 동일한 코어에서 실행됩니다.

내 컴퓨터의 모든 프로세스가 단일 코어에서만 실행되고 있으며 코어 선호도가 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

그래서 내 질문은 다음과 같이 요약됩니다. 왜 핵심 유사성은 모두 0으로 설정됩니까? OMP 또는 KMP 환경 변수가 설정되지 않았습니다.

답변1

SLURM이 문제 PBS는 요청된 코어 수에 따라 코어 선호도를 설정하는 것과 관련이 있습니다. SLURM모든 코어를 사용하려면 다음 줄을 추가하세요 .

#SBATCH --cpus-per-task=8

관련 정보