RSDFT
Large-Scale Parallel Computing Server
Create a script file in advance.
#!/bin/sh #PBS -l select=nodes #PBS -q queue #PBS -N jobname export MPICH_NO_BUFFER_ALIAS_CHECK=1 DIRNAME=`basename $PBS_O_WORKDIR` WORKDIR=/work/$USER/$PBS_JOBID mkdir -p $WORKDIR cp -raf $PBS_O_WORKDIR $WORKDIR cd $WORKDIR/$DIRNAME aprun [ -n MPI total tasks ][ -N MPI tasks per node ] -j 1 /work/app/RSDFT/current/src/rsdft.x > output file 2> error file cd; if cp -raf $WORKDIR/$DIRNAME $PBS_O_WORKDIR/.. ; then rm -rf $WORKDIR; fi
(Example)
#!/bin/sh #PBS -l select=1 #PBS -q P_016 #PBS -N rsdft export MPICH_NO_BUFFER_ALIAS_CHECK=1 DIRNAME=`basename $PBS_O_WORKDIR` WORKDIR=/work/$USER/$PBS_JOBID mkdir -p $WORKDIR cp -raf $PBS_O_WORKDIR $WORKDIR cd $WORKDIR/$DIRNAME aprun -n 16 -N 16 -j 1 /work/app/RSDFT/current/src/rsdft.x > rsdft.out 2> rsdft.err cd; if cp -raf $WORKDIR/$DIRNAME $PBS_O_WORKDIR/.. ; then rm -rf $WORKDIR; fi
Specify MPI tasks as the product of the value of PROCS in fort.1.
(Example)
$ grep PROCS fort.1 PROCS 2 2 4 1 1 1 / process partioning
→ 2*2*4*1*1*1=16