NAMD: Difference between revisions

Jump to navigation Jump to search
1,574 bytes added ,  7 years ago
verbs-gpu example
(verbs-gpu example)
Line 158: Line 158:
namd2 +p8 +idlepoll apoa1.namd
namd2 +p8 +idlepoll apoa1.namd
}}
}}
==== Verbs-GPU Job ====
These provisional Instructions will be refined further once this configuration can be fully tested on the new clusters.
This example uses 64 processes in total on 2 nodes, each node running 32 processes, thus fully utilizing its 32 cores.  Each node uses 2 GPUs, so job uses 4 GPUs in total. This script assumes full nodes are used, thus ntasks/nodes should be 32 (on graham).  For best performance, NAMD jobs should use full nodes.
'''NOTE''': The verbs version will not run on cedar because of its different interconnect.  Use the MPI version instead.
{{File
  |name=verbsgpu_namd_job.sh
  |lang="sh"
  |contents=
#!/bin/bash
#
#SBATCH --ntasks 64            # number of tasks
#SBATCH --nodes=2
#SBATCH --mem 1024            # memory pool per process
#SBATCH --gres=gpu:2
#SBATCH -o slurm.%N.%j.out    # STDOUT
#SBATCH -t 0:05:00            # time (D-HH:MM)
#SBATCH --account=def-specifyaccount
cat << EOF > nodefile.py
#!/usr/bin/python
import sys
a=sys.argv[1]
nodefile=open("nodefile.dat","w")
cluster=a[0:3]
for st in a.lstrip(cluster+"[").rstrip("]").split(","):
    d=st.split("-")
    start=int(d[0])
    finish=start
    if(len(d)==2):
        finish=int(d[1])
    for i in range(start,finish+1):
        nodefile.write("host "+cluster+str(i)+"\n")
nodefile.close()
EOF
python nodefile.py $SLURM_NODELIST
NODEFILE=nodefile.dat
OMP_NUM_THREADS=32
P=$SLURM_NTASKS
module load namd-verbs/2.12
CHARMRUN=`which charmrun`
NAMD2=`which namd2`
$CHARMRUN ++p $P ++ppn $OMP_NUM_THREADS ++nodelist $NODEFILE  $NAMD2  +idlepoll apoa1.namd
}}


= Usage =
= Usage =
cc_staff
229

edits

Navigation menu