Tips using Fugaku
Hardware
48 cores per node in ARM64 architecture However, the login node is an Intel machine. Compilation uses Fujitsu compiler, and the target mode should be set to ARM.
Job Scheduler
Fugaku uses PJM job scheduler Equivalent command:
| PBS Pro | PJM |
|---|---|
qstat | pjstat |
qsub | pjsub |
qdel | pjdel |
Example submission script for VASP
#!/bin/sh
#PJM -L "rscgrp=small"
#PJM -g "PROJECTID"
#PJM -L node=2
#PJM -L "elapse=24:00:00"
#PJM --mpi max-proc-per-node=48
#PJM -x PJM_LLIO_GFSCACHE=/vol0004
#PJM -S
#PJM -m b
#PJM -m e
#PJM -N jobname
export OMP_NUM_THREADS=1
export LD_LIBRARY_PATH=/lib64:${LD_LIBRARY_PATH}
export vasp_std=/PATH/vasp_std
export vasp_gam=/PATH/vasp_gam
vasp_ncl=/PATH/vasp_ncl
export PATH=$PATH:/PATH
echo `date` "Starting relaxation ..." >> status.txt
if [ ! -f vasprun.xml.relaxed.gz ]
then
if [ ! -s POSCAR.orig ]
then
echo `date` "Backuping POSCAR to POSCAR.orig ....." >> status.txt
cp POSCAR POSCAR.orig
fi
if [ -s CONTCAR ]
then
echo `date` "Found CONTCAR... Copying CONTCAR to POSCAR and continuing relaxation ...." >> status.txt
cp CONTCAR POSCAR
fi
echo `date` "Running VASP" >> status.txt
mpirun -n 96 vasp_std >> vasp.out
echo `date` `tail -n -1 OSZICAR` >> status.txt
rel=`tail -1 OSZICAR | cut -c 1-4`
grep "Inconsistent Bravais lattice types found for crystalline" OUTCAR
if [ $? -eq 0 ]
then
echo "SYMPREC = 1e-08" >> INCAR
fi
while [ ${rel} -gt 10 ]; do
cp CONTCAR POSCAR
rm WAVECAR CHG*
echo `date` "Running VASP " >> status.txt
mpirun -n 96 vasp_std >> vasp.out
echo `date` `tail -n -1 OSZICAR` >> status.txt
rel=`grep -v '^$' OSZICAR| tail -1 | cut -c 1-4`
if [ ${rel} -gt 10 ]
then
echo `date` "No. of ionic steps ${rel} doesn't meet the requirement (<10), restarting ....." >> status.txt
fi
done
if [ ${rel} -le 10 ]
then
echo `date` "Relaxation finished!" >> status.txt
mv CONTCAR CONTCAR.relaxed
mv DOSCAR DOSCAR.relaxed
mv EIGENVAL EIGENVAL.relaxed
mv IBZKPT IBZKPT.relaxed
mv INCAR INCAR.relaxed
mv KPOINTS KPOINTS.relaxed
mv OSZICAR OSZICAR.relaxed
mv OUTCAR OUTCAR.relaxed
mv POSCAR POSCAR.relaxed
mv PROCAR PROCAR.relaxed
mv vasprun.xml vasprun.xml.relaxed
mv vasp.out vasp.out.relaxed
rm WAVECAR CHG*
echo `date` "Ending job ..." >> status.txt
gzip -f *
exit 0
else
echo `date` "Error or unfinished job!" >> status.txt
exit 1
fi
else
echo `date` "vasprun.xml.relaxed.gz exist, skip this calculation ....." >> status.txt
exit 0
fi
Module system
Fugaku uses spack to manage modules
Add following to ~/.bashrc to load spack (need relogin)
alias loadspack=". /vol0004/apps/oss/spack/share/spack/setup-env.sh"
Some commands to use spack
spack listshow all installed modulesspack find xxfind installed module, e.g.spack find gccspack load xxload a module, e.g.spack load gcc@12.2.0spack unload xxunload a module
Tips for running VASP
Optimal NCORE is 12 for VASP