Commit Graph

59 Commits

Author SHA1 Message Date
Tom Deakin
5d9e408a06 [SYCL 2020] Make array size a size_t 2021-06-04 16:42:49 +00:00
Tom Deakin
9f38177e1b [SYCL 2020] Add check for FP64 support using device aspects.
This will resolve #98 in the future SYCL 2020 version.
2021-05-17 15:32:42 +01:00
Tom Deakin
f7dc20b875 Merge branch 'sycl-2020' of github.com:uob-hpc/babelstream into sycl-2020
Conflicts:
	CHANGELOG.md
2021-02-22 15:20:38 +00:00
Tom Deakin
67da8f6a8e [SYCL 2020] Add nstream kernel 2021-02-22 15:19:56 +00:00
Tom Deakin
5490253342 Merge branch 'main' into sycl-2020
Conflicts:
	SYCLStream.h
2021-02-22 15:18:34 +00:00
Tom Deakin
c9247cd27f [SYCL-2020] fix semicolon typo 2021-02-17 16:35:41 +00:00
Tom Deakin
ae8bd6081b [SYCL 2020] Use constructor initaliser list to allocate buffers - no need to use pointers 2021-02-08 13:43:35 +00:00
Tom Deakin
1336400311 [SYCL 2020] Use unique pointer for queue constructor 2021-02-08 11:34:37 +00:00
Tom Deakin
1db9a6b648 [SYCL 2020] Use smart pointers instead of raw pointers 2021-02-08 11:33:03 +00:00
Tom Deakin
1517101ceb [SYCL 2020] Remove work-group heuristic for reduction as unused 2021-02-08 11:07:38 +00:00
Tom Deakin
bda9525b95 Add SYCL 1.2.1 nstream kernel 2021-02-02 12:29:03 +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
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
9a69d3d5d9 use signed array size for SYCL 2021-01-12 10:24:00 +00:00
Tom Deakin
0919d95aa4 [SYCL] Use SYCL runtime device discovery
Fixes #63
2020-05-11 17:16:47 +01:00
Tom Deakin
1d6da069b3 [SYCL] Pass explicit async_handler to queue constructor 2020-05-11 17:13:36 +01:00
Tom Deakin
7f1637d679 [SYCL] Remove unused program variable 2020-05-11 17:10:48 +01:00
Tom Deakin
8776901733 [SYCL] Use the cl::sycl::id parameter in the parallel_for kernels
The cl::sycl::item provides extra features for extracing global/local
ids which aren't required by the kernels.
This also means the kernels don't need to extract the id from the item.
2019-11-01 15:19:01 +00:00
GeorgeWeb
e657bfa897 based on perf comparison, and discussions, the use pre-built kernels is unnecessary in this case 2019-06-20 14:24:46 +01:00
GeorgeWeb
54737d87cb enclosing computecpp specific code in macros, rather than removing it 2019-06-20 10:13:39 +01:00
GeorgeWeb
a2e53d6728 remove use of pre-built kernel in parallel_for as is not conformant with the SYCL spec. (yet) 2019-06-18 17:31:40 +01:00
Georgi Mirazchiyski
60817e25a1 fix deprecated use of get_global() and get_local() 2019-06-18 17:22:49 +01:00
Ruyman Reyes
63f32fcb51 Manually clearing the global device vector
The vector of devices is a global object, which destruction order is
undefined. In some platforms, the OpenCL library has been unloaded
before this destructor is hit, which causes a segmentation fault after
the program ends.  By clearing the global vector of devices on
destruction of the OpenCL and SYCL Stream benchmarks we avoid the
problem.
2018-05-02 15:21:41 +01:00
Peter Žužek
6958f070b1 Removed host_buffer target 2018-03-09 11:07:18 +00:00
Anton Rey
b6d9795476 SYCL implementation adapted to 1.2.1 interface 2017-12-08 12:49:21 +00:00
Vanya Yaneva
b8f7a5427e Added exception after printing the SYCL exceptions 2017-07-31 17:44:58 +01:00
Vanya Yaneva
9916a81bc5 Small formatting change 2017-07-27 17:39:13 +01:00
Vanya Yaneva
8c4af581d1 Reverted changes in kernel build 2017-07-27 17:36:12 +01:00
Vanya Yaneva
05fc803858 Updated SYCL makefile and kernel build 2017-07-25 13:49:08 +01:00
James Price
db01715806 [SYCL] Explictly use first dimension of ranges 2016-11-18 00:35:36 +00:00
James Price
1e976ff150 [SYCL] Fix multiple template specializations 2016-11-18 00:14:46 +00:00
James Price
66776d5839 [SYCL] Use consistent syntax for indexing 2016-11-17 23:52:13 +00:00
James Price
02bff60870 [SYCL] Fix start index in reduction loop 2016-11-17 21:01:30 +00:00
Tom Deakin
d42bcd4675 Merge remote-tracking branch 'origin/init-arrays' into devel 2016-11-04 09:17:54 +00:00
James Price
7f4761ae52 Replace write_arrays with init_arrays
This allows each model to initialise their arrays with a parallel
approach, which yields the first touch required for good performance
on NUMA architectures.
2016-11-02 11:22:01 +00:00
James Price
dd296d2231 [SYCL] Prebuild dot kernel like the others 2016-10-28 21:15:12 +01:00
James Price
b09b90f6fc Merge remote-tracking branch 'origin' into kernel-dot 2016-10-28 21:07:57 +01:00
James Price
cce8e78cae Merge pull request #12 from Ruyk/master
Updated the SYCL Stream benchmark with latest ComputeCpp CE 0.1.1 Edition
2016-10-28 21:06:34 +01:00
James Price
d7c48c5063 Slight tweak to dot config output to fix parsing scripts 2016-10-26 15:47:10 +01:00
James Price
cbf97dc7d9 [SYCL] Automatically determine dot NDRange config 2016-10-26 15:19:14 +01:00
James Price
ed630e7dbc [SYCL] Implement dot kernel 2016-10-25 16:39:23 +01:00
Tom Deakin
47128d47c0 [SYCL] Use global defined scalar value 2016-10-24 13:37:43 +01:00
Ruyman Reyes
d562283cde Minor performance tuning for SYCL benchmark
* Pre-compiling kernel binaries when setting up the benchmark,
   like OpenCL equivalent

* Using the linear access syntax for buffers
2016-10-18 13:09:19 +01:00