From 9301610f7c759634d3ca170fec42b539de0834d0 Mon Sep 17 00:00:00 2001 From: Rafael Ravedutti Date: Thu, 29 Sep 2022 14:23:34 +0200 Subject: [PATCH] Add more figures Signed-off-by: Rafael Ravedutti --- README.md | 12 ++++++++++-- figures/gromacs_mxn_v2.pdf | Bin 0 -> 14226 bytes figures/stub_new_v3.pdf | Bin 0 -> 22768 bytes figures/verlet_v2.pdf | Bin 0 -> 12815 bytes 4 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 figures/gromacs_mxn_v2.pdf create mode 100644 figures/stub_new_v3.pdf create mode 100644 figures/verlet_v2.pdf diff --git a/README.md b/README.md index b346743..15378be 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,15 @@ ![Image](figures/features-v3.png "MD-Bench Features") -A generic proxy-app toolbox for state-of-the-art molecular dynamics algorithms +MD-Bench is a toolbox for the performance engineering of short-range force calculation kernels on molecular-dynamics applications. +It aims at covering all available state-of-the-art algorithms from different community codes such as LAMMPS and GROMACS. + +Besides, many tools to study and evaluate the in-depth performance of such kernels on distinct hardware are made available like the gather-bench which is a benchmark to mimic the data movement from such kernels and the stubbed force calculation cases used to isolate the impacts caused by memory latencies and control flow divergence. + +![Image](figures/verlet_v2.pdf "Verlet Lists") +![Image](figures/gromacs_mxn_v2.pdf "GROMACS MxN") + +![Image](figures/stub_new_v3.pdf "Stubbed cases") ## Build instructions @@ -68,7 +76,7 @@ The default behavior and other options can be changed using the following parame ## Citations -R. Ravedutti Lucio Machado, J. Eitzinger, H. Köstler, and G. Wellein: MD-Bench: A generic proxy-app toolbox for state-of-the-art molcular dynamics algorithms. Accepted for [PPAM](https://ppam.edu.pl/) 2022, the 14th International Conference on Parallel Processing and Applied Mathematics, Gdansk, Poland, September 11-14, 2022. PPAM 2022 Best Paper Award. Preprint: [arXiv:2207.13094](https://arxiv.org/abs/2207.13094) +R. Ravedutti Lucio Machado, J. Eitzinger, H. Köstler, and G. Wellein: MD-Bench A generic proxy-app toolbox for state-of-the-art molecular dynamics algorithms. Accepted for [PPAM](https://ppam.edu.pl/) 2022, the 14th International Conference on Parallel Processing and Applied Mathematics, Gdansk, Poland, September 11-14, 2022. PPAM 2022 Best Paper Award. Preprint: [arXiv:2207.13094](https://arxiv.org/abs/2207.13094) ## Credits diff --git a/figures/gromacs_mxn_v2.pdf b/figures/gromacs_mxn_v2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..474fafdaaf2407f4da46e0159f0c237d7517a41c GIT binary patch literal 14226 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 P5){Q}V^h>p!vDVjL$B_5 literal 0 HcmV?d00001 diff --git a/figures/stub_new_v3.pdf b/figures/stub_new_v3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..71d8d8ba9e8f1bf2c590b760f73988105cd3ccf7 GIT binary patch literal 22768 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 literal 0 HcmV?d00001 diff --git a/figures/verlet_v2.pdf b/figures/verlet_v2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..af6e7bce0ef74f1610dd1246286e1f00e0ecf680 GIT binary patch literal 12815 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 yUj#`zi&_g literal 0 HcmV?d00001