GAMESS is used for computational chemistry calculations including DFT which is used to understand the potential of a drug molecule binding with proteins for drug discovery.
GAMESS
The General Atomic and Molecular Electronic Structure Systems (GAMESS) program simulates molecular quantum chemistry, allowing users to calculate various molecular properties and dynamics.
System Requirements
Before running the NGC GAMESS container please ensure your system meets the following requirements.
- Pascal(sm60) or Volta(sm70) NVIDIA GPU(s)
- CUDA driver version >= 384.81
- One of the following container runtimes
- nvidia-docker
- Singularity >= v2.5.0
Running GAMESS
Supported Architectures
NGC provides access to GAMESS containers targeting the following NVIDIA GPU architectures.
- Pascal(sm60)
- Volta(sm70)
Executables
rungms: primary GAMESS executable
Examples
The following examples demonstrate how to run the NGC GAMESS container under the supported runtimes.
Running with nvidia-docker
Command line execution with nvidia-docker
To run the cc-h2co example in detached mode, execute the following command.
nvidia-docker run -v $(pwd):/results --rm nvcr.io/hpc/gamess:17.09-r2-libcchem -c "cd /workspace/examples && rungms cc-h2co.inp"
Any simulation will have the following output:
[Running input $JOB on $NCPUS node(s) with $NGPUS gpu(s)]
[Run completed]
Upon completion, a logfile will be written to /results (container) and the present working directory $(pwd) (host) and will contain all simulation data.
Interactive shell with nvidia-docker
nvidia-docker run -v $(pwd):/results --rm -it nvcr.io/hpc/gamess:17.09-r2-libcchem
cd /workspace/examples
rungms cc-h2co.inp
Notes on Running Simulation
Any simulation will have the following output:
[Running input $JOB on $NCPUS node(s) with $NGPUS gpu(s)]
[Run completed]
Upon completion, a logfile will be written to /results/ (container) and the present working directory $(pwd) (host) and will contain all simulation data.
Running with Singularity
Pull the image
Save the NGC GAMESS container as a local Singularity image file:
singularity build gamess_17.09-r2-libcchem.simg docker://nvcr.io/hpc/gamess:17.09-r2-libcchem
This will save the container to current working directory as gamess_17.09-r2-libcchem.simg
Once the local Singularity image has been pulled the following modes of running are supported.
To run the benchmark examples below the workspace must first be copied to your working directory, to do so execute the following command:
singularity exec --nv gamess_17.09-r2-libcchem.simg cp -r /workspace .
Note: Singularity/2.x
In order to pull NGC images with singularity version 2.x and earlier, NGC container registry authentication credentials are required.
To set your NGC container registry authentication credentials:
$ export SINGULARITY_DOCKER_USERNAME='$oauthtoken'
$ export SINGULARITY_DOCKER_PASSWORD=<NVIDIA NGC Cloud Services API key>
More information describing how to obtain and use your NVIDIA NGC Cloud Services API key can be found here.
Note: Singularity 3.1.x - 3.2.x
There is currently a bug in Singularity 3.1.x and 3.2.x causing the LD_LIBRARY_PATH to be incorrectly set within the container environment.
As a workaround The LD_LIBRARY_PATH must be unset before invoking Singularity:
$ LD_LIBRARY_PATH="" singularity exec ...
Command line execution with Singularity
To run the cc-h2co example in detached mode, execute the following command.
singularity run --nv -B workspace:/workspace -B $(pwd):/results gamess_17.09-r2-libcchem.simg -c "cd /workspace/examples && rungms cc-h2co.inp"
Any simulation will have the following output:
$ [Running input $JOB on $NCPUS node(s) with $NGPUS gpu(s)]
$ [Run completed]
Upon completion, a logfile will be written to /results/ (container) and the present working directory $(pwd) (host) and will contain all simulation data.
Interactive shell with Singularity
singularity run --nv -B workspace:/workspace -B $(pwd):/results gamess_17.09-r2-libcchem.simg
cd /workspace/examples
rungms cc-h2co.inp
Notes on Running Simulation
Any simulation will have the following output:
$ [Running input $JOB on $NCPUS node(s) with $NGPUS gpu(s)]
$ [Run completed]
Upon completion, a logfile will be written to /results (container) and the present working directory $(pwd)- (host) and will contain all simulation data.
Running a Simulation with Your Own Input Deck
You can provide your own input decks by mapping /path/to/your_workspace on your host machine to /workspace in the container. See below for an example of how to do this with an interactive session.
nvidia-docker run -v /path/to/your_workspace:/workspace -v /path/to/results:/results --rm -it nvcr.io/hpc/gamess_17.09-r2-libcchem
or for singularity:
singularity run --nv -B /path/to/your_workspace:/workspace -B /path/to/results:/results gamess_17.09-r2-libcchem.simg
The run-script assumes the file structure below for your own jobs:
/path/to/your_workspace
scratch/
restart/
your_input.inp
To run a job using your own data, you’ll have to navigate to /path/to/your_workspace before running rungms. See below.
cd /workspace
rungms your_input.inp