Go to file
Rafael Ravedutti 939197a785 Create separate structs DeviceAtom and DeviceNeighbor with device pointers
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-08-12 17:28:06 +02:00
asm Add first version with more than one optimization scheme 2022-01-17 14:15:02 +01:00
data Fix DEM setup 2022-07-19 04:13:06 +02:00
gromacs Avoid errors when compiling for AVX2 due to SIMD LJ implementation 2022-07-19 02:30:26 +02:00
lammps Create separate structs DeviceAtom and DeviceNeighbor with device pointers 2022-08-12 17:28:06 +02:00
util Add cache sets histogram script, update gather plot script and add results for icx32 2021-07-29 17:01:30 +02:00
.gitignore Update .gitignore 2022-01-17 11:46:57 +01:00
config.mk Initial refactoring of CUDA code 2022-08-12 04:19:38 +02:00
include_CLANG.mk Update compilation flags for all available compilers 2022-01-17 11:40:44 +01:00
include_GCC.mk Avoid errors when compiling for AVX2 due to SIMD LJ implementation 2022-07-19 02:30:26 +02:00
include_GROMACS.mk Add SIMD version with AVX (no AVX2) and XTC output 2022-03-02 23:12:04 +01:00
include_ICC.mk Add ONEAPI config. Remove omp simd for full neigh. 2022-04-01 15:57:54 +02:00
include_ISA.mk Add first compilable version of Gromacs with SP 2022-03-15 02:40:56 +01:00
include_LIKWID.mk Add LIKWID Option. Allow to overwrite with asm variant. 2021-06-11 09:38:34 +02:00
include_NVCC.mk Integrate LAMMPS CUDA versions into master branch 2022-08-09 18:53:53 +02:00
include_ONEAPI.mk Add ONEAPI config. Remove omp simd for full neigh. 2022-04-01 15:57:54 +02:00
LICENSE Switch License to LGPL3 2020-08-19 10:47:40 +02:00
Makefile Integrate LAMMPS CUDA versions into master branch 2022-08-09 18:53:53 +02:00
README.md Streamline build system 2021-03-24 08:43:44 +01:00

MD-Bench

A simple, sequential C implementation of the Mantevo miniMD benchmark in less than 1000 LOC.

Build

  1. Open config.mk and edit the TAG value according to the tool chain used. Currently supported is GCC, CLANG (LLVM), and ICC (Intel).
  2. Change DATA_LAYOUT and DATA_TYPE if desired in config.mk.
  3. Open and adapt the compiler flags in <include_<TOOLCHAIN>.mk, e.g. in include_ICC.mk for the Intel tool chain.
  4. Build the binary calling make.

You can clean intermediate build results with make clean, and all build results with make distclean. You have to call make clean before make if you changed the build settings.

Configuration

Currently all settings apart from the options described below are hard-coded in main.c.

Run the benchmark

Without any options 200 steps with system size 32x32x32 is used.

The default can be changed using the following options:

-n / --nsteps <int>:  set number of timesteps for simulation
-nx/-ny/-nz <int>:    set linear dimension of systembox in x/y/z direction