This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
howto:gpu_gromacs [2014/03/17 16:31] swyngaard Configure the test case |
howto:gpu_gromacs [2023/09/11 09:22] (current) wikiadmin |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | |||
| + | ====== OUTDATED ====== | ||
| + | |||
| + | This page refers to the discontinued SUN cluster. | ||
| + | |||
| + | |||
| + | |||
| ====== Gromacs ====== | ====== Gromacs ====== | ||
| This page describes how to use Gromacs 4.6.5 on the GPU nodes of sun.chpc.ac.za. | This page describes how to use Gromacs 4.6.5 on the GPU nodes of sun.chpc.ac.za. | ||
| Line 19: | Line 26: | ||
| ==== Configuring the test case ==== | ==== Configuring the test case ==== | ||
| - | Optionally, execute the following | + | Optionally, execute the following |
| <code bash> | <code bash> | ||
| + | qsub -I -q kepla_k20 | ||
| + | cd test | ||
| grompp -f pme_verlet_vsites.mdp -c conf.gro -p topol.top -o adh_cubic_vsites_pme.tpr | grompp -f pme_verlet_vsites.mdp -c conf.gro -p topol.top -o adh_cubic_vsites_pme.tpr | ||
| + | logout | ||
| </ | </ | ||
| + | ==== PBS job script ==== | ||
| + | Below is the PBS job script for executing the job on two of the six available GPU nodes: | ||
| + | <file bash gromacs.pbs> | ||
| + | #!/bin/bash | ||
| + | #PBS -N test_gromacs | ||
| + | #PBS -l select=2: | ||
| + | #PBS -l walltime=12: | ||
| + | #PBS -j oe | ||
| + | #PBS -q kepla_k20 | ||
| + | |||
| + | source / | ||
| + | module add / | ||
| + | |||
| + | cd $PBS_O_WORKDIR | ||
| + | |||
| + | export OMP_NUM_THREADS=12 | ||
| + | |||
| + | mpirun mdrun -s adh_cubic_vsites_pme.tpr -nb gpu_cpu -gpu_id 00 | ||
| + | </ | ||
| + | **NOTE:** The '' | ||
| + | |||
| + | ==== Submit the job ==== | ||
| + | Submit the job using the following command: | ||
| + | <code bash> | ||
| + | qsub gromacs.pbs | ||
| + | </ | ||
| + | |||
| + | ==== Expected output ==== | ||
| + | Your output should look similar to the following: | ||
| + | <file text expected.out> | ||
| + | : | ||
| + | |||
| + | Gromacs Runs On Most of All Computer Systems | ||
| + | |||
| + | :-) VERSION 4.6.5 (-: | ||
| + | |||
| + | Contributions from Mark Abraham, Emile Apol, Rossen Apostolov, | ||
| + | | ||
| + | Rudi van Drunen, Anton Feenstra, Gerrit Groenhof, Christoph Junghans, | ||
| + | Peter Kasson, Carsten Kutzner, Per Larsson, Pieter Meulenhoff, | ||
| + | Teemu Murtola, Szilard Pall, Sander Pronk, Roland Schulz, | ||
| + | Michael Shirts, Alfons Sijbers, Peter Tieleman, | ||
| + | |||
| + | Berk Hess, David van der Spoel, and Erik Lindahl. | ||
| + | |||
| + | | ||
| + | | ||
| + | Uppsala University & The Royal Institute of Technology, Sweden. | ||
| + | check out http:// | ||
| + | |||
| + | This program is free software; you can redistribute it and/or | ||
| + | | ||
| + | as published by the Free Software Foundation; either version 2.1 | ||
| + | of the License, or (at your option) any later version. | ||
| + | |||
| + | :-) mdrun (-: | ||
| + | |||
| + | Option | ||
| + | ------------------------------------------------------------ | ||
| + | -s adh_cubic_vsites_pme.tpr | ||
| + | -o | ||
| + | -x | ||
| + | -cpi state.cpt | ||
| + | -cpo state.cpt | ||
| + | -c confout.gro | ||
| + | -e | ||
| + | -g | ||
| + | -dhdl dhdl.xvg | ||
| + | -field | ||
| + | -table | ||
| + | -tabletf | ||
| + | -tablep | ||
| + | -tableb | ||
| + | -rerun | ||
| + | -tpi tpi.xvg | ||
| + | -tpid | ||
| + | | ||
| + | | ||
| + | -j | ||
| + | | ||
| + | -ffout | ||
| + | -devout | ||
| + | -runav | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | -mtx | ||
| + | | ||
| + | -multidir | ||
| + | -membed | ||
| + | | ||
| + | | ||
| + | |||
| + | Option | ||
| + | ------------------------------------------------------ | ||
| + | -[no]h | ||
| + | -[no]version bool | ||
| + | -nice int 0 Set the nicelevel | ||
| + | -deffnm | ||
| + | -xvg | ||
| + | -[no]pd | ||
| + | -dd vector 0 0 0 | ||
| + | -ddorder | ||
| + | -npme int -1 Number of separate nodes to be used for PME, -1 | ||
| + | is guess | ||
| + | -nt int 0 Total number of threads to start (0 is guess) | ||
| + | -ntmpi | ||
| + | -ntomp | ||
| + | to start (0 is guess) | ||
| + | -ntomp_pme | ||
| + | to start (0 is -ntomp) | ||
| + | -pin | ||
| + | auto, on or off | ||
| + | -pinoffset | ||
| + | cores; used to avoid pinning threads from | ||
| + | different mdrun instances to the same core | ||
| + | -pinstride | ||
| + | use 0 to minimize the number of threads per | ||
| + | physical core | ||
| + | -gpu_id | ||
| + | per-node PP rank to GPU mapping | ||
| + | -[no]ddcheck bool | ||
| + | -rdd | ||
| + | DD (nm), 0 is determine from initial coordinates | ||
| + | -rcon real | ||
| + | -dlb | ||
| + | -dds | ||
| + | -gcom int -1 Global communication frequency | ||
| + | -nb enum | ||
| + | gpu or gpu_cpu | ||
| + | -[no]tunepme bool | ||
| + | -[no]testverlet bool | ||
| + | -[no]v | ||
| + | -[no]compact bool | ||
| + | -[no]seppot | ||
| + | interaction type and node to the log file(s) | ||
| + | -pforce | ||
| + | -[no]reprod | ||
| + | reproducibility | ||
| + | -cpt | ||
| + | -[no]cpnum | ||
| + | -[no]append | ||
| + | from checkpoint instead of adding the simulation | ||
| + | part number to all file names | ||
| + | -nsteps | ||
| + | option | ||
| + | -maxh real | ||
| + | -multi | ||
| + | -replex | ||
| + | period (steps) | ||
| + | -nex | ||
| + | exchange interval (N^3 is one suggestion). | ||
| + | zero or not specified gives neighbor replica | ||
| + | exchange. | ||
| + | -reseed | ||
| + | -[no]ionize | ||
| + | bombardment on your system | ||
| + | |||
| + | Reading file adh_cubic_vsites_pme.tpr, | ||
| + | Changing nstlist from 10 to 25, rlist from 0.935 to 1.024 | ||
| + | |||
| + | The number of OpenMP threads was set by environment variable OMP_NUM_THREADS to 12 | ||
| + | Using 4 MPI processes | ||
| + | Using 12 OpenMP threads per MPI process | ||
| + | |||
| + | 1 GPU detected on host cnode-9-31: | ||
| + | #0: NVIDIA Tesla K20m, compute cap.: 3.5, ECC: yes, stat: compatible | ||
| + | |||
| + | 1 GPU user-selected for this run. | ||
| + | Mapping of GPUs to the 2 PP ranks in this node: #0, #0 | ||
| + | |||
| + | NOTE: You assigned a GPU to multiple MPI processes. | ||
| + | starting mdrun ' | ||
| + | 10000 steps, | ||
| + | |||
| + | Writing final coordinates. | ||
| + | |||
| + | | ||
| + | Part of the total run time spent waiting due to load imbalance: 3.6 % | ||
| + | |||
| + | |||
| + | |||
| + | NOTE: The GPU has >20% more load than the CPU. This imbalance causes | ||
| + | performance loss, consider using a shorter cut-off and a finer PME grid. | ||
| + | |||
| + | Core t (s) Wall t (s) (%) | ||
| + | | ||
| + | | ||
| + | Performance: | ||
| + | |||
| + | gcq#230: "She Needs Cash to Buy Aspirine For Her Pain" (LIVE) | ||
| + | |||
| + | </ | ||
| + | |||