Commit Graph

49 Commits

Author SHA1 Message Date
Rafael Ravedutti
d138f975f6 Add diagonal checks
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2023-03-23 02:17:27 +01:00
Rafael Ravedutti
296a4c4e01 Set interaction masks as gromacs does
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2023-03-23 00:58:25 +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
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
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
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
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
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
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
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
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
9daf9e5f4d Fix exclusion masks and add SIMD debug tools
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-02 21:54:18 +01:00
Rafael Ravedutti
6ad1e58a3e Add first kernel using SIMD instrinsics for 4xn cases
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-02 18:00:44 +01:00
Rafael Ravedutti
85e7954932 Check all clusters in cell when building neighbor lists because ghost clusters may not be sorted
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-01 20:16:04 +01:00
Rafael Ravedutti
e64c3345bc Fix a few more bugs on gromacs variant
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-01-31 23:46:20 +01:00
Rafael Ravedutti
e0e6b6a68c Perform a few fixes for gromacs variant
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-01-31 17:49:22 +01:00
Rafael Ravedutti
6691803910 Add first version of force calculation with cluster scheme
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-01-28 18:07:41 +01:00
Rafael Ravedutti
eedcc97e4a Remove segfaults
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-01-28 15:18:54 +01:00
Rafael Ravedutti
a119fcdfdd Fix some segfaults and add function to update single atoms
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-01-27 03:07:31 +01:00
Rafael Ravedutti
aa0f4048d0 Rename default directory to lammps and reorganize gromacs variant steps
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-01-25 21:00:11 +01:00
Rafael Ravedutti
cbe42b8149 Fix errors to make gromacs approach compilable so far
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-01-25 12:19:28 +01:00
Rafael Ravedutti
6291709ae7 Add first draft code with GROMACS approach
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-01-25 00:43:10 +01:00
Rafael Ravedutti
df09c2861e Add first version with more than one optimization scheme
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-01-17 14:15:02 +01:00