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