Gamess-US: automatic compilation on Ubuntu in Windows 10 Subsystem For Linux [WSL]
Overview of procedure:Running the script ubugamW17 automatically updates all necessary scripts and libraries, incl. libblas from Atlas. Then it starts a build script buildgamessW17. This unpacks the Gamess tarball, edits all required scripts from the Gamess-US distribution to reflect your environment, incl. config to create install.info and actvate.x. Then it builds ddikick.x, and gamess.00.x. To test the execs all examXX.inp are run and results checked.
In about 10 to 20 min, depending on your system speed, ddikick.x and gamess.00.x are made and Checktst tells you: All 47 test results are correct. Congratulations! your new Gamess works. Here is a summary of a session using Atlas math libraries for linking.
Note: If you want to build Gamess not using my scripts, just follow ~/gamess/machines/readme.unix. For the WSL two additional changes are required: No System-V memory must be allocated and the limitation of stacksize (lines 114 and 302 in rungms) must be commented out. These changes are automatically applied in my scripts.
Linking other Mathlibs than AtlasMKL or ACML Blaslibraries: Both are a bit faster than Atlas, but need registering and installing.
Run ./config, composing a new install.info with the path to your mathlibrary (e.g. /opt/acml4.4.0). Then run ./lked with a new name for gamess, e.g. ./lked gamess 01 >& lked1.log. Important for ACML: The download for the 32-bit package is acml-4-4-0-gfortran-32bit.tgz, for the 64-bit target acml-4-4-0-gfortran-64bit-int64.tgz, the library without the "int64" will not work!(the version number 4-4-0 may have changed)
Rungms on multicore noderungms has been edited to make use of up to four cores of a dual or quad core CPU, running in parallel. Just call Gamess with:
./rungms job(.inp) 00 2 (or 3, or 4) > job.log to engage the processors of your SMP. With
./rungms job(.inp) > job.log (with gamess.00.x) the normal single core run is started.
Make sure to check whether Gamess knows how to run your jobtype in parallel. There are many that are not (yet) parallel enabled.