Closed xiongyan21 closed 5 years ago
The rungms script is pretty gnarly. Try the rungms-dev script instead. About 30% leaner.
Thanks a lot. I will try.
Can I only though the modification of the rungms-dev script to customise? Thanks.
You can only customize the way GAMESS is launched through modification of either rungms or rungms-dev. You can customize what types of jobs to run through an input file.
I'll add:
rungms covers a lot of launch cases and error checking/job cleanup, so it's large, and useful for that purpose. But you don't necessarily need it to run for specific simple cases (like MPI-only GAMESS, with something like Intel MPI) and you're not worried about job cleanup. GAMESS mostly just needs environment variables to be set by sourcing gms-files.csh
and setting the right variable for the input file, and then you can launch it with mpirun -n $cores gamess.your_build.x &> log_file
. I'm leaving out a few details, but if you want to write something much smaller to run GAMESS for specific simple cases you can.
A simple example is:
#!/bin/csh
#
# use at your own risk, does not clean everything well. (especially related to semaphores)
# usage: script.sh [input file] [number of compute processes to run] [version]
#
if ("$#" != 3) then
echo "Need three inputs--the name of the input file, the number of compute processes to run, and version"
echo "Example: ./script.sh exam01.inp 2 00"
echo " This runs exam01.inp with 2 compute processes (4 MPI ranks)"
echo " using gamess.00.x in the directory that is hardcoded in this script."
exit
endif
# hardcoded path, should change. this is the location of the gamess root
setenv GMSPATH /home/user/gamess/
if ( -f $1 ) then
if ($1:r.inp == $1) then
set input=$1:r
else
set input=$1
endif
set version = $3
@ cores = ($2 * 2 )
cp $input.inp JOB.$input.F05
setenv JOB JOB.$input
setenv SCR ./
setenv USERSCR ./
source $GMSPATH/gms-files.csh
echo ---- Running $input on host `hostname`! ----
echo ---- Using $GMSPATH/gamess.$version.x ----
mpirun -n $cores $GMSPATH/gamess.$version.x > $input.log
set ret=$?
if ($ret != 0) then
echo "PROBLEM WITH RUN"
echo "exit code $ret"
endif
rm $SCR/$JOB.F*
else
echo "$1 does not exist."
endif
Thanks a lot. I will follow your advice and try. Very Best Regards!
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 911.
What should I do to let it run? Thanks a lot for your time and patience. Very Best Regards!
Previously, it seems I cannot define userscr on Ubuntu18.04. I will try to define it and continue. Thanks a lot. Very Best Regards!
I use mkdir ~/scr amd mkdir ~/usrscr to build the two directories, but still get the same error.
The environment of compiling GAMESS 2019R1 Patch1 is Ubuntu 18.04 openmpi Intel mkl 2018.3.222 The compilation order make ddi make modules make -j4 and the terminal exhibits "The linking of GAMESS to binary gamess.2019R1.x was successful" with the omission of ccsdt3a and LIBCHEM . 0.762u 0.198s 0:00.96 98.9% 0+0k 0+204928io 0pf+0w"
If the cusomization of rungms is not carried out, " rungms JOB VERNO NCPUS >& JOB.log &" gives " no such order". Is there a short cut for the customization since it is too hard. Very Best Regards!