Commit Graph

55 Commits

Author SHA1 Message Date
Martin Bauernfeind
5a6d1851ed Ported updateAtomsPbc to cuda and changed the code to use the cuda version from now on 2022-07-13 14:07:19 +02:00
Martin Bauernfeind
71798f5ec5 🐛 Fixed aforementioned correctness issue by deleting a superflous cudaMemcpy in computeForce() that was overwriting correct data with incorrect data 2022-07-05 00:54:11 +02:00
Martin Bauernfeind
7e8fd96fa4 Fixed some compiler errors - the simulation seems to be off regarding how many ghost atoms are used -> some bugfixing might be needed 2022-07-03 21:14:33 +02:00
Martin Bauernfeind
463de5b1ed Ported the updatePbc method to cuda 2022-07-03 19:53:33 +02:00
Martin Bauernfeind
60ed524dd8 Fixed various compiler errors - now there's probably a memory leak remaining 2022-06-26 18:37:09 +02:00
Martin Bauernfeind
c49278cb21 First crude attempt at parallelizing neighborhood computation (only the part after binning the atoms is parallelized with cuda) 2022-06-26 16:25:59 +02:00
Martin Bauernfeind
b5b4d23c0c 🐛 further refactoring fixing 2022-06-23 19:46:29 +02:00
Martin Bauernfeind
fea1e41daa 🐛 further refactoring step fixing 2022-06-23 19:43:36 +02:00
Martin Bauernfeind
f1998b7acc 🐛 further refactor step fixing 2022-06-23 19:39:36 +02:00
Martin Bauernfeind
7f068a6959 ♻️ Fixing refactoring step 2022-06-23 19:32:09 +02:00
Martin Bauernfeind
62cfc22856 ♻️ Refactoring: pulled definition of the GPU atom and neighbor representation from force.cu and put it into main 2022-06-23 18:54:56 +02:00
Maximilian Gaul
c4080e866e Make integrate kernels aware of neighbour list update 2022-01-24 18:04:50 +01:00
Maximilian Gaul
dc4d5f1a9c Porting atom velocity memory layout to AoS, porting velocity integration to CUDA, adding measurements + logbook update 2022-01-01 18:18:12 +01:00
Maximilian Gaul
50007216ed Implemented atom force AoS memory layout, added performance measurements + logbook Update 2022-01-01 16:09:21 +01:00
Maximilian Gaul
72e4599acc Copy neighbour lists only when reneighbouring happens, added measurements + logbook update 2022-01-01 12:56:42 +01:00
Maximilian Gaul
bf1ae3d013 Removed debug prints, only zero atom forces and not copy them, added measurements 2021-12-28 16:32:54 +01:00
Maximilian Gaul
8009b54113 Trying to debug segfault if cudaMemcpy is limited to neighbour list update 2021-12-25 15:36:08 +01:00
Maximilian Gaul
0ea0587442 Only malloc once at the beginning plus measurement csv 2021-12-25 13:52:33 +01:00
Rafael Ravedutti
ec556eb117 Add EAM without explicit types and update fp for PBC atoms
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-11-03 00:57:24 +01:00
Rafael Ravedutti
0f1e824507 Fix integration with mass and add VTK output
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-10-29 16:52:19 +02:00
Rafael Ravedutti
70cc6aeb19 Add first working version of EAM
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-10-26 13:55:14 +02:00
Jan Eitzinger
70e24d7c2c Merge branch 'master' of github.com:RRZE-HPC/MD-Bench 2021-10-26 09:16:31 +02:00
Jan Eitzinger
3c3d27b48a Introduce separate version for traced force routine. 2021-10-26 09:11:17 +02:00
Rafael Ravedutti
2dac10469c Add EAM force field
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-10-26 00:40:39 +02:00
Rafael Ravedutti
43ba28e130 Add ATOMS_LOOP_RUNS option and statistics to stub variant
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-10-12 22:39:54 +02:00
Rafael Ravedutti
55d346510e Compute statistics, useful data volume and cycles per SIMD iteration
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-10-12 15:04:08 +02:00
Rafael Ravedutti
f295f54fca Add useful data volume calculation for force kernel
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-10-11 16:57:02 +02:00
Rafael Ravedutti
749c4d55ab Provide trace output for all reneighboring steps
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-10-04 16:47:07 +02:00
Rafael Ravedutti
57041ceed2 Add likwid-perfctr run with CACHES_PMC for 1 timestep on casclakesp2
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-07-16 00:24:43 +02:00
Rafael Ravedutti
0a2ec6376c Add memory tracer and update config.mk with all options
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-06-16 00:56:00 +02:00
Rafael Ravedutti
4496e91125 Add version with explicit types for atoms
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-05-19 23:51:02 +02:00
Rafael Ravedutti
15de65303e Add version iterating most internal loop multiple times
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-05-05 03:04:41 +02:00
Rafael Ravedutti
3c7dbc833a Allow any values for atoms_per_unit_cell
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-04-21 13:01:06 +02:00
Rafael Ravedutti
706f1c38f2 Update stubbed force calculation
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-04-07 00:46:51 +02:00
Rafael Ravedutti
77a0774208 Improve stubbed force calculation version
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-03-30 22:17:30 +02:00
Rafael Ravedutti
7efd30791a Add version with stubbed force calculation
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-03-30 01:54:56 +02:00
Jan Eitzinger
2bc3120112 Put force kernel in separate compilation unit 2021-03-25 06:49:28 +01:00
Jan Eitzinger
6679b6c8aa Simplify macros for data structure access.
Still segvaults for AoS.
2021-03-23 09:26:41 +01:00
Rafael Ravedutti
cb0ae2b0bb Replace inline calls by macros
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-03-22 21:51:47 +01:00
Rafael Ravedutti
3f7edb5dbf Add support for AoS data layout
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2021-03-20 18:32:50 +01:00
Jan Eitzinger
b39957421c Include Likwid Markers. Allow to switch between SP and DP floats. 2020-11-05 12:41:44 +01:00
Jan Eitzinger
0fd51e8a9c Add OpenMP parallelization for computeForce. 2020-08-19 11:19:16 +02:00
Jan Eitzinger
a0acce6cb3 Switch License to LGPL3 2020-08-19 10:47:40 +02:00
Jan Eitzinger
b1f2e23696 Fix more bugs. Enable optimization for CLANG. 2020-08-19 10:00:19 +02:00
Jan Eitzinger
dcee5f97f2 Add timing and result output. 2020-08-19 09:22:43 +02:00
Jan Eitzinger
71ea8dbb0e Refactor. Fix bug in atom initialization. 2020-08-19 09:00:35 +02:00
Jan Eitzinger
e7869286d7 Introduce modular version. 2020-08-18 14:27:28 +02:00
Jan Eitzinger
b20b71ca0b First working code. Clean up. 2020-08-17 14:01:46 +02:00
Jan Eitzinger
49cd67f82f Fix bug in ghost atom setup. 2020-08-17 13:20:54 +02:00
Jan Eitzinger
24a2e87e7e Fix bug in logic of setupBoundary. 2020-08-14 13:51:01 +02:00