Lammps

From NJIT-ARCS HPC Wiki
Jump to: navigation, search

In progress. don't rely on this yet for GPU - CPU should be OK.

LAMMPS is a classical molecular dynamics code, and an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator[1]

LAMMPS was compiled using Intel 2013 compilers and the CUDA 6.5 libraries.

The following instructions are for running the LAMMPS in parallel on kong using cpu and gpu.


Create a directory for this run:

mkdir lammps_test
cd lammps_test

Get an example lammps input file:

cp /afs/cad/linux/lammps/30Jul16/lammps-30Jul16/bench/in.lj .

Edit the submit script as directed:

#!/bin/bash
###############################################################################
#
# EXAMPLE LAMMPS PARALLEL SCRIPT FOR SGE
# lammps_submit.sh
# To use, change all of the following to real values:
#     JOB_NAME, QUEUE, UCID, NUMBER_OF_CPUS
# 
# Please see https://wiki.hpc.arcs.njit.edu/ for additional information.
#
# Modified by Basement Supercomputing 1/2/2006 DJE
# Modified for NJIT - AM 18Apr06
# Updated for modules, QRSH_PORT, additional documentation. 31-Aug-2015 /KJW
# Updated for LAMMPS 28-Sep-2016/GW 
#
###############################################################################
# Change JOB_NAME to a one-word alphanumeric description. This will be used for
# part of output file name and in status listings.
###############################################################################
#$ -N JOB_NAME

###############################################################################
# Change QUEUE to a valid queue. On kong this would be one of "short",
# "medium",  "long, or gpu." See https://wiki.hpc.arcs.njit.edu/index.php/KongQueues
# To run on GPU you mus use the gpu queue
# or https://wiki.hpc.arcs.njit.edu/index.php/SthenoQueues for more info
###############################################################################
#$ -q QUEUE

###############################################################################
# Send email when jobs starts and again when it finishes or if it aborts.
###############################################################################
#$ -M UCID@njit.edu
#$ -m abe

###############################################################################
# Use current working directory where "qsub" was invoked.
###############################################################################
#$ -cwd

###############################################################################
# Join stdout and stderr
###############################################################################
#$ -j y

###############################################################################
# Set your number of processors here by changing NUMBER_OF_CPUS to an integer
# value.
#
# LAMMPS uses the intel mpich2 MPI
# Do not select more than 16 CPUS if using the GPU node
###############################################################################
#$ -pe mpich2 NUMBER_OF_CPUS

###############################################################################
# Uncomment to request one gpu (max two)
# Note that uncomment means to remove the first "#" and leave "#$."
###############################################################################
##$ -l gpu=1


###############################################################################
# Run job through bash shell
###############################################################################
#$ -S /bin/bash

###############################################################################
# Load the correct lammps module.
# Uncomment the one to use.
###############################################################################
#module load lammps/cpu/30Jul16
#module load lammps/gpu/30Jul16


###############################################################################
# The following are for reporting only and not really needed to run the job;
# their results will show up in your output file.
###############################################################################
echo "Got $NSLOTS processors."
echo "cwd=$(pwd)"

###############################################################################
# For CPU uncomment the following.
###############################################################################
#mpirun -np $NSLOTS lmp_intel_cpu_intelmpi -v x 16 -v y 16 -v z 16 -v t 100 < in.lj

###############################################################################
# For GPU uncomment the following.
###############################################################################
#mpirun -np $NSLOTS lmp_intel_cpu_intelmpi -sf gpu -v x 32 -v y 32 -v z 64 -v t 100 < in.lj

Submit the script:

qsub lammps_submit.sh
  1. http://lammps.sandia.gov