Go to file
Rafael Ravedutti 0482e4f09a Avoid resize messages on run_stub output and build objects from assembly files
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-05-22 03:26:56 +02:00
arch_analysis Add OSACA analysis and ASM code for AVX2 with AoS, lt600 variant 2021-05-08 01:03:44 +02:00
asm Add OSACA analysis and ASM code for AVX2 with AoS, lt600 variant 2021-05-08 01:03:44 +02:00
scripts Avoid resize messages on run_stub output and build objects from assembly files 2021-05-22 03:26:56 +02:00
src Fix explicit types for stubbed version 2021-05-20 00:08:10 +02:00
util Switch License to LGPL3 2020-08-19 10:47:40 +02:00
.gitignore Update .gitignore 2021-05-16 23:52:59 +02:00
config.mk Merge master branch into stub 2021-04-15 20:12:36 +02:00
include_CLANG.mk Streamline build system 2021-03-24 08:43:44 +01:00
include_GCC.mk Restructure timing and instrumentation. Add performance metric. 2021-04-15 14:55:02 +02:00
include_ICC.mk Restructure timing and instrumentation. Add performance metric. 2021-04-15 14:55:02 +02:00
LICENSE Switch License to LGPL3 2020-08-19 10:47:40 +02:00
Makefile Avoid resize messages on run_stub output and build objects from assembly files 2021-05-22 03:26:56 +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