Commit Graph

672 Commits

Author SHA1 Message Date
Tom Deakin
3deb9f8eff Generalise the run functions to share construction of models and check vectors
An enum is added and set by the command line options to choose the running mode:
all 5 kernels or triad only.

There is now only one run fuction which call the constructor of each
model implementation, calling another routine to run the kernels.
The output is then determined by the enum value.
2021-02-18 12:35:12 +00:00
Tom Deakin
487e59c6a9 Don't run nstream in the main benchmark 2021-02-18 11:37:49 +00:00
Tom Deakin
46bbab6ebb Revert "Update initial starting values"
This reverts commit 44e74b574b.
2021-02-18 11:06:14 +00:00
Tom Lin
94e394845f Clean up SYCL.make with unified build target 2021-02-17 17:17:20 +00:00
Tom Deakin
f90d911551 Add nstream to OpenACC, but it looks like NVHPC is ignoring the += in the kernel so results are wrong 2021-02-03 16:58:47 +00:00
Tom Deakin
c53b635a3c Add nstream kernel to HIP 2021-02-03 11:25:26 +00:00
Tom Deakin
44e74b574b Update initial starting values 2021-02-03 11:21:56 +00:00
Tom Deakin
490af52147 Add nstream to C++ STD version -- untested as compilers not ready 2021-02-03 10:54:33 +00:00
Tom Deakin
579247dc06 Normalise sum result to mitigate errors with large iteration counts 2021-02-03 10:16:13 +00:00
Tom Deakin
210cfb7520 Revert "Update initial array values to ensure dot product works with the nstream kernel"
This reverts commit 5346e1226d.

Conflicts:
	CHANGELOG.md
2021-02-03 10:14:58 +00:00
Tom Deakin
aefe5af18b Add nstream to Kokkos 2021-02-02 15:58:00 +00:00
Tom Deakin
4203ccb017 Add nstream kernel to OpenCL 2021-02-02 15:46:53 +00:00
Tom Deakin
fdac285110 Merge branch 'main' into nstream
Conflicts:
	CHANGELOG.md
2021-02-02 15:46:39 +00:00
Tom Deakin
018d8a4510 [OpenCL] Remove dot kernel object in deconstructor 2021-02-02 15:45:54 +00:00
Tom Deakin
30231575cb Tidy CUDA memory mode Makefile 2021-02-02 12:33:18 +00:00
Tom Deakin
05e3e5a127 Add CUDA nstream kernel 2021-02-02 12:32:33 +00:00
Tom Deakin
fa477bd466 Merge branch 'main' into nstream 2021-02-02 12:33:39 +00:00
Tom Deakin
bda9525b95 Add SYCL 1.2.1 nstream kernel 2021-02-02 12:29:03 +00:00
Tom Deakin
b470e4466c Merge branch 'main' into nstream 2021-02-02 11:49:38 +00:00
Tom Deakin
5d697fdfe9 Add missing OpenMP flag to Intel CPU builds 2021-02-02 11:49:16 +00:00
Tom Deakin
4c905e6a86 Add OpenMP nstream kernel 2021-02-02 11:44:37 +00:00
Tom Deakin
84406024cf Update CHANGELOG 2021-02-02 11:28:33 +00:00
Tom Deakin
5346e1226d Update initial array values to ensure dot product works with the nstream kernel 2021-02-02 11:27:54 +00:00
Tom Deakin
767df86f1a Update README with nstream citations 2021-02-02 11:25:48 +00:00
Tom Deakin
bd04e6db3c Add nstream kernel from PRK
PRK has a nstream kernel, which is Triad with a += update.
This means there are 3 reads and a write, which is a higher
read/write ratio. In addition, non-temporal stores for the
write on CPUs will not be beneficial, and so compilers should
take care to emit these for the other kernels, but not these.
2021-02-02 11:25:42 +00:00
Tom Deakin
f99f8d35d9 Revert "Add nstream kernel from PRK"
This reverts commit 1e94a41f3c.
2021-02-02 11:25:27 +00:00
Tom Deakin
877f820282 Revert "Update README with nstream citations"
This reverts commit cb0c345ad5.
2021-02-02 11:25:14 +00:00
Tom Deakin
cb0c345ad5 Update README with nstream citations 2021-02-02 11:24:41 +00:00
Tom Deakin
1e94a41f3c Add nstream kernel from PRK
PRK has a nstream kernel, which is Triad with a += update.
This means there are 3 reads and a write, which is a higher
read/write ratio. In addition, non-temporal stores for the
write on CPUs will not be beneficial, and so compilers should
take care to emit these for the other kernels, but not these.
2021-02-01 17:41:30 +00:00
Tom Deakin
435a104f6e Check input array size is positive 2021-01-12 15:30:41 +00:00
Tom Deakin
903eb40d19 Add parseInt function for parsing CLI arguments for array size 2021-01-12 10:28:01 +00:00
Tom Deakin
15001000c5 use signed int for array size in RAJA 2021-01-12 10:25:45 +00:00
Tom Deakin
87ab797490 use signed ints for HC 2021-01-12 10:25:16 +00:00
Tom Deakin
66aaec281f use signed ints for HIP 2021-01-12 10:24:27 +00:00
Tom Deakin
9a69d3d5d9 use signed array size for SYCL 2021-01-12 10:24:00 +00:00
Tom Deakin
20c3284629 Update CHANGELOG with signed int change 2021-01-12 10:23:21 +00:00
Tom Deakin
d01b46a87a use signed ints for STD C++20 2021-01-12 10:22:53 +00:00
Tom Deakin
ecc47f5320 use signed ints for STD C++17 2021-01-12 10:22:29 +00:00
Tom Deakin
94c7c3dbd8 use signed array size for OpenCL 2021-01-12 10:21:48 +00:00
Tom Deakin
693a7e7478 use signed array size for CUDA 2021-01-12 10:20:44 +00:00
Tom Deakin
850c63d69b use signed ints for ACC array size 2021-01-12 10:14:44 +00:00
Tom Deakin
e6c200a2d3 use signed int for Kokkos array size 2021-01-12 10:13:53 +00:00
Tom Deakin
00de932454 Save array size argument as signed integer 2021-01-12 10:09:55 +00:00
Tom Deakin
a9fd663471 Make OpenMP array size signed 2021-01-12 10:04:51 +00:00
Tom Lin
8c87f9d010 Fixed sycl kernel linking for computecpp 2021-01-10 22:43:12 +00:00
Tom Deakin
4abb080a0e Fix GCC AMD build for OpenMP offload 2020-12-30 14:40:21 +00:00
Tom Deakin
cf42335e7a Merge branch 'cuda-memory' into main 2020-12-07 15:15:37 +00:00
Tom Deakin
9c211bca96 Update changelog for CUDA memory mode 2020-12-07 15:13:06 +00:00
Tom Deakin
e8fb3a6be4 Add C++20 version using for_each_n and range factories
Closes #85
2020-12-07 14:55:54 +00:00
Tom Deakin
ffa221fd35 Fix OpenMP Clang NVIDIA Target flags (missing sm architecture) with new NVARCH option
Example usage:
make -f OpenMP.make COMPILER=CLANG TARGET=NVIDIA NVARCH=sm_61

Fixes #61
2020-12-07 12:23:11 +00:00