GNU Parallel을 사용할 때 각 노드에서 시작(또는 해제) 스크립트를 실행할 수 있는 방법이 있습니까?
예를 들어, 여러 멀티 코어 노드(특히 PBS를 사용하여 공유 HPC 클러스터에서 할당되는 노드) 간에 많은 단일 스레드 작업을 분산(및 균형 조정)하고 싶습니다. 각각의 새 노드에 대해 작업(예: 환경 모듈 로드)을 실행하기 전에 일부 설정 명령을 한 번 실행해야 합니다.
답변1
당신은 그것을 사용할 수 있습니까 --nonall
?
parallel --nonall --slf $PBS_NODEFILE setup.sh
환경이 설정되어 있는 경우에는 작동하지 않습니다. 이를 위해 다음을 시도해 볼 수 있습니다.
env_parallel --record-env
[load the environment]
seq 100 | env_parallel --slf $PBS_NODEFILE --env _ echo do the job