예, 물론입니다. 일반적으로 그러한 시스템에는이를 수행하는 방법에 대한 지침이 있습니다 (like these).
(말) 4x 4-cpu 작업이있는 경우 각각 동일한 시간이 소요되며 4 개의 다른 디렉토리에서 실행되기를 원합니다 (출력 파일을 추적하기가 더 쉬워 짐) 의), 백그라운드에서 그들 각각을 실행하는 쉘 앰퍼샌드를 사용하고 마무리하기 위해 모든 백그라운드 작업 기다립니다
(cd jobdir1; myexecutable argument1 argument2) &
(cd jobdir2; myexecutable argument1 argument2) &
(cd jobdir3; myexecutable argument1 argument2) &
(cd jobdir4; myexecutable argument1 argument2) &
wait
(myexecutable argument1 argument2
그러나 당신이 일반적으로 프로그램을 실행 단지 자리 표시 자이고, 당신이 사용하는 경우 mpiexec
또는 그와 비슷한 것으로, 일반적으로 사용하는 것처럼 사용됩니다. OpenMP를 사용하는 경우 위의 첫 번째 줄 앞에 환경 변수 OMP_NUM_THREADS
을 내보낼 수 있습니다.
같은 시간이 모두 걸리지 않는 작업이 많은 경우 위의 4 가지 작업보다 더 많은 작업을 할당하고 gnu parallel과 같은 도구를 사용하여 필요한만큼 작업을 시작하는 것이 가장 쉽습니다. this answer에 설명되어 있습니다.
감사합니다. 조사해 보겠습니다. 그러나 시스템에 gnu 병렬이없는 경우 홈 폴더에 설치하여 사용할 수 있습니까? 나는 루트 권한이 없다. – solora
예; 그것을 다운로드하고'./configure --prefix = $ HOME && make && make install'을 실행하십시오. 설치가 매우 간단하며, 시스템 관리자가 시스템 전체에 설치하기 쉽도록 충분히 유용합니다. 구문은 약간 복잡 할 수 있습니다. 여기 좋은 자습서가 있습니다 - http://unethicalblogger.com/2010/11/11/gnu-parallel-changed-my-life.html –