---
# System prepended metadata

title: 'SCC Training: Benchmarking LAMMPS'

---

# SCC Training: Benchmarking LAMMPS

Training reservation: `SCC22-GPU` (partition `gpu`)
CSC user documentation: https://docs.csc.fi
LAMMPS documentation: https://docs.lammps.org
LAMMPS presentation (55 min, no need to watch for this training): https://youtu.be/ssyLwwHYK-c

## Groups
- Ilmari, Huy, Leopekka: https://meet.csc.fi/SCC1
- Matias, Niklas, Roope: https://meet.csc.fi/SCC2

## Building LAMMPS

- Build LAMMPS in Puhti with GPU support (with cuda)
- Try to make a common build for your group
  - Once completed, you may try to create also custom module for the build (not strictly necessary)
  - If possible, try to script the build process and include the build script in the SCC github repository (https://github.com/cschpc/student-cluster-competition-2022) under build `build_recipes`
- Let's use the latest stable version which can be cloned with
```
git clone -b stable_29Sep2021_update3 https://github.com/lammps/lammps.git
```
- Use `cmake` https://docs.lammps.org/Build_cmake.html
- LAMMPS consists of many packages which need to be included at the build time: https://docs.lammps.org/Build_package.html
  - For current benchmarks, `KSPACE`, `MOLECULE`, `RIGID`, and `GPU` packages are needed
- For `GPU` package, one needs to also specify `cuda` as `GPU_API` and choose proper `GPU_ARCH`, see https://docs.lammps.org/Build_extras.html#gpu

## Running LAMMPS

- See https://docs.lammps.org/Run_basics.html for basics of running LAMMPS and https://docs.lammps.org/Speed_gpu.html for enabling GPU acceleration
- There are two input files in Puhti at `/scratch/project_2005493/lammps-input` which you should copy to run directories:
  - `in.lj`
  - `in.rhodo`, the dataset `data.rhodo` needs to be also in the same directory when running
- Runtime with four GPUs node should be less than 9 minutes with both input data.
- LAMMPS can benefit from using more CPU cores (MPI tasks) per node than there are GPUs. Try to experiment to find optimum number of MPI tasks per node


----
:::info
**This is the end of the document, WRITE ABOVE THIS LINE **
