Commit Graph

188 Commits

Author SHA1 Message Date
Jan Eitzinger
5585ebcf42 Add ONEAPI config. Remove omp simd for full neigh. 2022-04-01 15:57:54 +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
2a555a7deb Add simd reduction pragma to vectorize innermost loop on half-neighbor variant
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-21 17:02:09 +01:00
Rafael Ravedutti
719330807b Change data layout for force arrays according to position
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-18 01:40:51 +01:00
Rafael Ravedutti
e7737e9151 Refactor half neighbor lists code
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-18 01:28:11 +01:00
Rafael Ravedutti
5df544637f Fix force calculation time in LAMMPS variant
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-17 02:53:58 +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
rafaelravedutti
459853dc25 Merge pull request #4 from RRZE-HPC/gromacs_sp
Gromacs sp
2022-03-15 20:31:42 +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
Jan Eitzinger
c2fcd50773 Initial version of lammps halfneighbor list 2022-03-10 17:06:45 +01:00
Jan Eitzinger
ba3a0524f6 Merge branch 'master' of github.com:RRZE-HPC/MD-Bench 2022-03-10 16:30:40 +01:00
Jan Eitzinger
6203cb12b6 Start to introduce halfneigh version 2022-03-10 16:30:37 +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
cecb31d6a9 Update params for argon_1000 test case
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-03-07 14:49:38 +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
ed2929c813 Add percentage of atoms within cutoff radius when using LAMMPS reference version
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-25 14:40:33 +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
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
4c5f013bf4 Assign masked adds results to forces
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-02 18:07:56 +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
5fd2d422ee Adjust kernels to work with MxN loops
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
2022-02-02 00:49:55 +01:00