команда orterun не найдена при использовании файла хоста для использования mpi на нескольких узлах

#mpi #hpc #pbs

Вопрос:

Я хочу запустить mpi на нескольких вычислительных узлах, в первом узле мне нужно использовать 48 процессоров и 4 графических процессора и 6 рангов, во втором узле я должен использовать 48 процессоров и 4 графических процессора, но 5 рангов.

Я попытался создать файл хоста, чтобы передать всю эту информацию узлам, но я получаю

 line 37: orterun: command not found
 

сценарий запуска (который включал сценарий pbs) является :

 #!/bin/bash
#PBS -l walltime=00:05:00
#PBS -l ncpus=48
#PBS -l ngpus=4
#PBS -l mem=384GB
#PBS -l jobfs=100GB
#PBS -q gpuvolta
#PBS -P kv03
#PBS -l wd


if [ -f debug.h5 ]; then
  rm debug.h5
fi

# hostfilename
hostfile=hostfile_$PBS_JOBID

#for gadi MBE runs
NODE_LIST=$(cat $PBS_NODEFILE | sort | uniq)
i=0
for word in $NODE_LIST
do
    if [ $i == 0 ] 
    then
        echo "$word slots=6 max_slots=6" >> $hostfile
    else
        echo "$word slots=5 max_slots=5" >> $hostfile
    fi  
    i=$((i 1))
done
echo "$hostfile created"
#(cat $hostfile)

# linux using openmpi
export OMP_NUM_THREADS=1
orterun --mca btl vader,self,tcp -np 6 --bind-to core --hostfile $hostfile ./exe1 w6-new.json
 

Если бы я работал с одним узлом, моя команда oreturn была

 orterun --mca btl vader,self,tcp -np 6 --bind-to core --map-by ppr:6:node ./exe1 w6-new.json
 

и это было правильно.

для работы на нескольких узлах я должен указать количество целых рангов (в обоих узлах) в команде oreturn? а также сценарий pbs должен быть для целых двух узлов (96 процессоров и 8 графических процессоров) или только для каждого узла (как тот, который я написал в сценарии).

Комментарии:

1. попробуйте использовать абсолютный путь к orterun

2. Спасибо @GillesGouaillardet Я сделал это /Home/тест/$файл хоста, но это не решило проблему

3. это должен быть абсолютный путь к orterun , например /opt/openmpi/bin/orterun