Os parâmetros -N 1 -n 1 -c 1
solicitam uma única CPU em um nó. Substitua-os por -n 16
e remova o mpirun
; o srun
cuidará do processo de inicialização do MPI.
Em um sistema slurm, quando eu uso o comando srun para executar o programa. Ele é executado muito devagar e parece que apenas um processador funciona.
srun --pty -A free -J test -N 1 -n 1 -c 1 mpirun -np 16
$FEAPHOME8_3/parfeap/feap -log_summary lu.log
Mas se eu escrever um script sbatch , ele poderá ser executado muito rapidamente e parecerá que todos os processadores funcionam.
#!/bin/sh -l
#SBATCH --job-name=test
#SBATCH --account=free
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=24
#SBATCH --cpus-per-task=1
#SBATCH --exclusive
#SBATCH --time=6:00:00
echo ' '
echo ' ****** START OF MAIN-JOB ******'
date
srun -n 16 echo y | mpirun -np 16 $FEAPHOME8_3/parfeap/feap -log_summary lu.log
echo ' ****** END OF MAIN-JOB ******'
#End of script
Alguém poderia me dizer o que está acontecendo?
Os parâmetros -N 1 -n 1 -c 1
solicitam uma única CPU em um nó. Substitua-os por -n 16
e remova o mpirun
; o srun
cuidará do processo de inicialização do MPI.
Tags mpi shell-script slurm parallelism