Commit Graph

759 Commits

Author SHA1 Message Date
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
b825df0074 [SYCL 2020] Declare reduction inline to reduce one variable name 2021-01-21 18:18:35 +00:00
Tom Deakin
4726f3f0f1 [SYCL 2020] Specify no_init property when initalising buffers 2021-01-21 10:39:13 +00:00
Tom Deakin
42c8954789 [SYCL 2020] use new reduction for dot kernel 2021-01-21 10:38:12 +00:00
Tom Deakin
aa0ab6a8e3 use new header path 2021-01-21 10:37:11 +00:00
Tom Deakin
435a104f6e Check input array size is positive 2021-01-12 15:30:41 +00:00
Tom Deakin
b611db8cab [SYCL 2020] Use host accessor constructors 2021-01-12 11:58:14 +00:00
Tom Deakin
282fb1e5e3 [SYCL 2020] Use accessor constructurs using CTAD and Tags instead of get_access 2021-01-12 11:54:39 +00:00
Tom Deakin
8f5357011a [SYCL 2020] Use sycl::id for init kernel 2021-01-12 11:16:46 +00:00
Tom Deakin
501c61cfbd [SYCL 2020] update namespace from cl::sycl to sycl::
Also remove the use namespace to make it clear what comes from SYCL
2021-01-12 11:14:43 +00:00
Tom Deakin
e8faf6843d Remove old comment 2021-01-12 11:01:11 +00:00
Tom Deakin
8c72b52f16 [SYCL 2020] Use unnamed lamdas 2021-01-12 11:00:54 +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
Tom Deakin
5a93022fc1 Update OpenACC for Issue #80 2020-12-07 11:50:20 +00:00
Tom Deakin
b00120d346 Update STD C++17 for Issue #80 2020-12-07 11:32:22 +00:00
Tom Deakin
74f705cac9 Update OpenMP for Issue #80 2020-12-07 10:41:48 +00:00
Tom Deakin
829aa15da0 Allocate driver solution check vectors *after* the main computation
Each Stream implementation owns its own data, so the driver code
shouldn't allocate a large array just before. On processors with
strong NUMA effects and smaller memory capacities per NUMA domain,
these checking vectors can result in the main arrays being
allocated in the wrong NUMA domain.

The fix is to simply move the driver allocation until after the
computation has finished and we want to check the answers.

This commit only changes the driver; each model will be updated
in subsequent commits.

Fixes #80.
2020-12-07 10:39:37 +00:00
Tom Deakin
f373927ce8 Rename branch name 2020-12-07 10:23:27 +00:00
Tom Deakin
f271d5563d
Merge pull request #84 from gonzalobg/cxx_parallel_stl
Add NVIDIA HPC SDK C++ parallel STL implementation
2020-12-03 14:15:45 +00:00
Gonzalo Brito Gadeschi
0855805ce2 Add NVIDIA HPC SDK C++ parallel STL implementation
This commits adds an implementation using the C++ parallel STL.
The Makefile uses the NVIDIA HPC SDK `nvc++` compiler with the `-stdpar` flag.
Tested using the NVIDIA HPC SDK 20.9.
2020-11-23 03:08:44 -08:00
Tom Deakin
5182342403
Update CHANGELOG.md 2020-10-26 09:58:57 +00:00
Tom Deakin
8ae8c70188
Merge pull request #81 from Kerilk/master
Ensure OpenCL destructors are called in the "correct" order.
2020-10-26 09:58:05 +00:00
Brice Videau
e92d034f64 Ensure OpenCL destructors are called in the correct order. 2020-10-16 18:05:23 -05:00
Tom Deakin
6f46267e6c Add AOMP build options 2020-08-13 17:46:45 +01:00
Tom Deakin
66d915fa2e
[OpenMP] Fix ARMCLANG Makefile bug where it didn't set the flags 2020-08-12 15:39:13 +01:00
Tom Deakin
f31181dedb
Add -O3 flat to HIP.make to fix segmentation fault 2020-08-12 14:09:22 +01:00