다른 프로세스가 통신 할 필요가없는 slurm에서 일부 병렬 코드를 실행하려고합니다. Naively 나는 파이썬의 slurm 패키지를 사용했습니다. 그러나, 그것은 단지 하나의 노드에서 CPU를 사용하는 것으로 보인다.slurm에서 python의 다중 처리 사용
예를 들어, 5 개의 CPU가있는 노드가 4 개인 경우, 동시에 5 개의 프로세스 만 실행합니다. 다중 노드가 다른 노드에서 실행되도록 어떻게 알 수 있습니까?
파이썬 코드는 문제가 this one 다음과 비슷합니다
import multiprocessing
def hello():
print("Hello World")
pool = multiprocessing.Pool()
jobs = []
for j in range(len(10)):
p = multiprocessing.Process(target = run_rel)
jobs.append(p)
p.start()
처럼 보이지만 거기에 상세하게 해결되지 않았습니다.
답변 해 주셔서 감사합니다. 사실 저는 약 40 개의 프로세스를 병렬로 실행하려고합니다. 그래서 다른 노드를 사용해야합니다. 오늘 저녁에 코드를 시험해 보겠습니다. – physicsGuy
나는 당신의 접근 방식을 시도했습니다. 그러나 파이썬은 위의 코드가있는 단일 노드 만 사용하고 다른 모든 노드는 사용하지 않습니다. 이 문제를 해결하는 쉬운 방법이 있습니까? – physicsGuy