slurmでrelionを使うときの「qsub.sh」を作ってみている

#!/bin/bash
#SBATCH --partition=XXXqueueXXX
#SBATCH --ntasks=XXXmpinodesXXX
#SBATCH --cpus-per-task=XXXthreadsXXX
#SBATCH --error=XXXerrfileXXX
#SBATCH --output=XXXoutfileXXX
#SBATCH --job-name=XXXnameXXX
#################################
 
### check run command
cmd_=$(/bin/cat <<_EOF_
XXXcommandXXX
_EOF_
)
cmd=$(echo "$cmd_" | sed -z 's/\n/\&\&/g')
run=$(echo $cmd|awk '{print $1}')
### mpirun option
opt=" --display-map --bind-to none --mca plm_rsh_agent rsh --map-by node "
### Check GPU option
np=XXXmpinodesXXX
localnodefile=1
if [ ${run##*/} =  "relion_refine_mpi" ]; then
   if [[ $cmd = *--gpu* ]]; then
      np=$(expr $np + 1)
   fi
fi
### Run
command="{ { mpirun $opt --host SLURMD_NODENAME -np $np ${cmd:0:-2} | tee -a XXXoutfileXXX ; } 3>&2 2>&1 1>&3 | tee -a XXXerrfileXXX ; } 3>&2 2>&1 1>&3"
 
eval $command
 
echo "done"

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2021-06-20 (日) 04:25:39 (39d)