Commit Graph

65 Commits

Author SHA1 Message Date
Rafael Ravedutti
56d9613028 Implement stubbed version for GROMACS
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-11-15 16:01:13 +01:00
Rafael Ravedutti
f293cec960 Call CPU version of updatePbc within setupPbc
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-11-14 19:19:57 +01:00
Rafael Ravedutti
6eedf1776e Small fixes into GROMACS GPU code
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-11-14 18:21:14 +01:00
Rafael Ravedutti
93188d1383 Adjust NVCC flags to avoid issues with atomicAdd with doubles
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-11-14 18:01:46 +01:00
Rafael Ravedutti
c70ebce4c1 Integrate GROMACS GPU implementation into master branch
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-11-08 18:33:23 +01:00
Rafael Ravedutti
493915fe95 Fix code for AVX and remove warnings
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-11-08 15:30:37 +01:00
Jan Eitzinger
3d0f4b97ee Switch copyright header in source files. 2022-09-05 10:39:42 +02:00
Rafael Ravedutti
28d3946072 Move common modules to common directory
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-08-17 17:56:31 +02:00
Rafael Ravedutti
47db9e86b0 Introduce common directory
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-08-17 17:20:57 +02:00
Rafael Ravedutti
29fa08fa7f Enhance output for gromacs variant
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-08-16 19:32:49 +02:00
Rafael Ravedutti
911ba63336 Adjust ISA options and improve output
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-08-16 18:36:47 +02:00
Rafael Ravedutti
2e77f6207b Avoid errors when compiling for AVX2 due to SIMD LJ implementation
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-07-19 02:30:26 +02:00
Rafael Ravedutti
ab2eb1ff50 Write LAMMPS kernel with SIMD intrinsics and implement AVX512 with double-precision functions
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-04-05 02:57:23 +02:00
Rafael Ravedutti
e48b3fb653 Add option to check if cj is local before applying reaction force
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-04-04 21:52:40 +02:00
Rafael Ravedutti
fdbeed4368 Fix AVX2 versions with half neighbor lists
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-27 16:39:39 +02:00
Rafael Ravedutti
0e742766b7 Add working version of Simd4xn kernel with half neighbor lists
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-23 15:54:18 +01:00
Rafael Ravedutti
e72323ab6a Fix Simd2xnn Kernel with half neighbor lists and add AVX512 intrinsics with double
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-23 15:21:07 +01:00
Rafael Ravedutti
94521f03b3 Fix reference version with half neighbor lists
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-23 14:31:47 +01:00
Rafael Ravedutti
8709bc2a06 Add first version for half neighbor lists in GROMACS variant
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-22 23:47:05 +01:00
Rafael Ravedutti
887f41871c Add parameter reading for LAMMPS variant
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-17 02:44:34 +01:00
Rafael Ravedutti
d4b34e1fa4 Fix intrinsics for AVX2
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-17 00:35:21 +01:00
Rafael Ravedutti
4090f43095 Optimize partial forces reduction for compute_4xn kernel
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-16 17:54:52 +01:00
Rafael Ravedutti
f3263a2d48 Separate simd file into multiple files
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-16 14:52:55 +01:00
Rafael Ravedutti
d47173d7a2 Fix Simd2xNN kernel
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-15 19:59:10 +01:00
Rafael Ravedutti
d61576699d Add first compilable version of Gromacs with SP
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-15 02:40:56 +01:00
Rafael Ravedutti
8669f2f6d7 Fix LJ Simd4xN kernel
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-11 01:12:59 +01:00
Rafael Ravedutti
d79c3c2a1d Add first working version with 4x8 config (ref kernel)
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-10 22:33:41 +01:00
Rafael Ravedutti
22d0f0b958 Commit version that works for M=N
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-10 01:31:50 +01:00
Rafael Ravedutti
2b441e691e Make code compilable
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-09 17:23:49 +01:00
Rafael Ravedutti
c7360305c8 Add first draft version of GROMACS method separating i-clusters and j-clusters
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-09 02:25:39 +01:00
Rafael Ravedutti
ba6785a865 Allow parameter reading from files and update data
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-05 03:21:52 +01:00
Rafael Ravedutti
aae29a5b5a Add code to read GRO files
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-03 20:03:33 +01:00
Rafael Ravedutti
af92800c64 Add SIMD version with AVX (no AVX2) and XTC output
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-02 23:12:04 +01:00
Rafael Ravedutti
022aa75c75 Add cutoff radius and skin as parameters of simulation
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-28 22:34:42 +01:00
Rafael Ravedutti
1389f89fb7 Add prunning kernel
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-28 17:20:39 +01:00
Rafael Ravedutti
c62e4ea4ad Add clusters efficiency on stats
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-28 16:10:09 +01:00
Rafael Ravedutti
e637a26844 Add percentage of atoms within cutoff radius when using GROMACS reference version
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-25 14:19:48 +01:00
Rafael Ravedutti
fdd18df816 Fix argon simulation
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-24 16:42:58 +01:00
Rafael Ravedutti
1a708f2d3b Add PDB reading functions to lammps variant
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-24 15:17:51 +01:00
Rafael Ravedutti
d0ec9520f2 Write function to read PDB files and include data for Argon simulation
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-24 02:36:17 +01:00
Rafael Ravedutti
ca7775a62a Add average atoms per cluster on stats
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-09 17:50:54 +01:00
Rafael Ravedutti
769bab0faa Separate local and ghost cluster edges on VTK output
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-08 16:12:22 +01:00
Rafael Ravedutti
6a35a7a482 Update stats for cluster version
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-08 00:55:27 +01:00
Rafael Ravedutti
8deee3d954 Add cluster edges in VTK output
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-08 00:11:10 +01:00
Rafael Ravedutti
cd15911a97 When building neighbor lists, skip first iterations until z is in range
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-07 18:28:53 +01:00
Rafael Ravedutti
0eacb2453e Inline getBoundingBoxDistanceSq and avoid redundant loads from bbminz and bbmaxz
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-07 18:00:21 +01:00
Rafael Ravedutti
cdb1d5b9f1 Add version with AVX2 intrinsics for gromacs scheme
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-04 17:52:48 +01:00
Rafael Ravedutti
34ce407f18 Update stats for gromacs scheme
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-04 14:47:37 +01:00
Rafael Ravedutti
6e6a3f6502 Use aligned loads when gathering j atoms
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-04 14:29:32 +01:00
Rafael Ravedutti
7b90800a2b Setting forces to zero before calculation is not required
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-04 14:05:04 +01:00