for 루프에 대한 병렬 작업 제출

for 루프에 대한 병렬 작업 제출

루프를 작성 for하고 병렬화했으며 &작업을 한 번에 실행할 수 있도록 임계값을 제한했습니다. 3아래는 내 스크립트입니다. 나는 명령으로 보존 32 cores하고 256 GB기억한다 BSUB. sample_pipe루프 내에서 실행하려면 코어와 메모리가 필요합니다 .for32256 GB

일부 작업에서 메모리 오류 오류가 발생합니다. 32코어만 유지하고 작업을 한 번만 실행 256 GB하려고 하는 것 같은데 , 이로 인해 일부 작업에서는 메모리 오류 오류가 발생할 수 있습니다.3

3내 질문은 모든 작업이 동일한 수의 코어와 메모리를 사용 하도록 병렬화하는 방법입니다 .

명령을 사용하여 제출합니다.bsub < example.sh

#!/bin/bash
#BSUB -J cnt_job            # LSF job name
#BSUB -o cnt_job.%J.out     # Name of the job output file
#BSUB -e cnt_job.%J.error   # Name of the job error file
#BSUB -n 32                 # 32 cores
#BSUB -M 262144             # 256 GB
#BSUB -R "span[hosts=1] rusage [mem=262144]"

n=0
maxjobs=3
for sample in $main ; do
     for run in $nested ; do
             sample_pipe count --id="$run_name" \
             --localcores=32 \
             --localmem=256 &
     done
     cd ..
     # limit jobs
    if (( $(($((++n)) % $maxjobs)) == 0 )) ; then
        wait # wait until all have finished
        echo $n wait
    fi
done

관련 정보