slurmをjob queuing systemに使った場合

これらに留意する必要があるっぽい

slurmでrelionを使うときの「qsub.sh」を作ってみている. 「sbatch.sh」とかの名称がいいのかも

#!/bin/bash
#SBATCH --partition=XXXqueueXXX
#SBATCH --ntasks=XXXmpinodesXXX
#SBATCH --cpus-per-task=XXXthreadsXXX
#SBATCH --error=XXXerrfileXXX
#SBATCH --output=XXXoutfileXXX
#SBATCH --job-name=XXXnameXXX
#SBATCH --gres=gpu:4
#################################
 
cd $SLURM_SUBMIT_DIR
 
### Environment Modules
. /etc/profile.d/modules.sh
module load mpi/openmpi-x86_64
module load relion
 
### requested resources
cat <<_EOF_>XXXoutfileXXX
----------------------------------------------
start  `date`
----------------------------------------------
Queue name                         XXXqueueXXX
used nodes                         ${SLURM_JOB_NODELIST}
  +--NumberOfProcess[MPI procs]    XXXmpinodesXXX
     +-- NumberOfThreads[threads]  XXXthreadsXXX
_EOF_
 
### check 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 --oversubscribe "
 
### check GPU
np=XXXmpinodesXXX
localnodefile=1
if [ ${run##*/} =  "relion_refine_mpi" ]; then
   if [[ $cmd = *--gpu* ]]; then
      np=$(expr $np + 1)
   fi
fi
 
### Run
SECONDS=0
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
 
cat <<_EOF_>>XXXoutfileXXX
----------------------------------------------
use relion: `readlink -f $run`
end time: `date '+%y%m%d %H:%M:%S'`  (spend  `printf "%02d:%02d:%02d\n" $(($SECONDS/3600)) $((($SECONDS%3600)/60)) $(($SECONDS%60))`)
----------------------------------------------
done
_EOF_

メモ

GPUの使用枚数のしては「Queue submit command:」欄で行う. 「sbatch --gres=gpu:2」なら「gpu」とgres.confで定義されたGPUを2枚使うことを意図します
2023y07m29d_112636965.png

relionのソースを修正して、枚数指定の入力欄を拵えればいいのかな.
画面はこんな感じになるのかも.
https://hpc.nih.gov/apps/relion/index.html

ただ、こうゆう修正を行うとupdateの時が面倒かなぁ. まぁ「pipeline_jobs.cpp」の修正のみで用意できますけど

「Compute」タグの「Which GPUs to use:」欄から得られそうだが、

最新の60件
2024-02-23 2024-02-22 2024-02-21 2024-02-20 2024-02-19 2024-02-18 2024-02-17 2024-02-16 2024-02-13 2024-02-12 2024-02-09 2024-02-04 2024-02-03 2024-01-31 2024-01-30 2024-01-29 2024-01-28 2024-01-22 2024-01-16 2024-01-15 2024-01-13 2024-01-12 2024-01-09 2024-01-08 2024-01-07 2024-01-03 2023-12-22 2023-12-17 2023-12-16 2023-12-11 2023-12-09 2023-12-06 2023-11-30 2023-11-27 2023-11-21 2023-11-19 2023-11-18 2023-11-14 2023-11-10 2023-11-09 2023-11-05 2023-11-03 2023-10-30 2023-10-26

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-09-11 (月) 23:23:49