Commit Graph

600 Commits

Author SHA1 Message Date
James Price
d4b3b3533c Update SYCL version to work with ComputeCpp
Still needs proper CMake rules and kernel names need to be fixed for
multiple template instantiations.
2016-05-06 00:38:30 +01:00
Matthew Martineau
0a738efa54 Merging in changes from trunk 2016-05-05 17:23:47 +01:00
Matthew Martineau
7c28a6386b Added the Kokkos and RAJA implementations 2016-05-05 17:22:29 +01:00
Tom Deakin
f0afa0c1e4 Add reference OpenMP 3.0 version 2016-05-04 10:41:41 +01:00
Tom Deakin
48cae0cbc1 Make sure CUDA nvcc builds with C++11 2016-05-03 15:20:26 +01:00
Tom Deakin
31819b7778 Add bones of OpenACC in CMake config 2016-05-03 15:07:51 +01:00
Tom Deakin
0b0de4e0c3 Implement the OpenACC device string functions, and device selector 2016-05-03 14:50:09 +01:00
James Price
b45f311e0d Add missing SYCL source files 2016-05-03 14:48:35 +01:00
James Price
40a0a6551d Remove extra -std=c++11 from CMake build 2016-05-03 14:46:08 +01:00
James Price
da4f918788 Add initial SYCL implementation 2016-05-03 14:45:13 +01:00
Tom Deakin
1a38b18954 Add OpenACC version 2016-05-03 14:36:08 +01:00
Tom Deakin
530b2adda2 Add License text to all files 2016-05-03 12:32:03 +01:00
Tom Deakin
95a10511ec Update LICENSE date 2016-05-03 12:28:44 +01:00
Tom Deakin
21c9022a3f Keep C++11 flag explicitely defined in Cmake 2016-05-03 12:24:33 +01:00
Tom Deakin
662fcaf4b5 Add CMake things to gitignore 2016-05-03 12:18:41 +01:00
Tom Deakin
57ea4b8cae Require CMake 3.2 so can check for C++11 nicely 2016-05-03 12:17:33 +01:00
Tom Deakin
1bd27428bd Require CUDA 7 for C++11 support 2016-05-03 12:17:21 +01:00
Tom Deakin
8ce15a28aa Update CMake with better binary name and source location 2016-05-03 11:45:25 +01:00
Tom Deakin
a355acf2ee Move source files to top level directory 2016-05-03 11:43:25 +01:00
Tom Deakin
fcc9588c94 Change cl2.hpp include 2016-05-03 11:41:40 +01:00
Tom Deakin
83516ae352 Update cl2.hpp 2016-05-03 11:41:00 +01:00
Tom Deakin
95f9efb7d9 Remove old version 2016-05-03 11:40:46 +01:00
Tom Deakin
e91c31b44a Tidy up delete of object with correct deconstructors and delete 2016-05-03 11:37:35 +01:00
Tom Deakin
26bb912646 Check OCL device has enough memory for buffers 2016-05-03 11:23:36 +01:00
Tom Deakin
2738e75b04 Print out array sizes 2016-05-03 11:20:39 +01:00
Tom Deakin
fd121c2467 Use device info to select CUDA device 2016-05-03 11:15:38 +01:00
Tom Deakin
3462e61c16 Check device support float 2016-05-03 11:05:21 +01:00
Tom Deakin
d7c17d72d5 Use device index from CLI in OpenCL 2016-05-03 11:02:33 +01:00
Tom Deakin
77b521f5f0 Use float or double from CLI 2016-05-03 10:52:27 +01:00
Tom Deakin
ac55358964 Implement device info functions 2016-05-03 10:51:16 +01:00
Tom Deakin
72ddd05f61 Add parse arguments code 2016-04-29 18:45:57 +01:00
Tom Deakin
2cb4fe74b1 Use original parseUInt function 2016-04-29 18:38:49 +01:00
Tom Deakin
d557915007 Remove static keyword 2016-04-29 18:36:47 +01:00
Tom Deakin
3c394b9db0 Move device functions outside class 2016-04-29 18:28:21 +01:00
Tom Deakin
1a96b71935 First attempt at parse args 2016-04-29 13:59:31 +01:00
Tom Deakin
00305ba120 Write to std err 2016-04-28 23:37:53 +01:00
Tom Deakin
f5ba77f4bd List CUDA devices function 2016-04-28 23:20:10 +01:00
Tom Deakin
d1f8cd1b48 Implement some CUDA routines for device info 2016-04-28 23:06:06 +01:00
Tom Deakin
a1cab96c57 Define the implementaiton strings in each implementation header 2016-04-28 17:20:40 +01:00
Tom Deakin
7006871cbe Get version from CMake configued header and only build implementations which have the runtime around 2016-04-28 17:10:14 +01:00
Tom Deakin
b9e70e11ab Add CMakeLists.txt file with CUDA and OCL builds 2016-04-28 16:58:32 +01:00
Tom Deakin
088778977b Add OCL copy functions 2016-04-28 15:11:02 +01:00
Tom Deakin
b514969193 Create OCL device buffers 2016-04-28 15:08:12 +01:00
Tom Deakin
77f6df856c Call kernels in OCL 2016-04-28 15:05:01 +01:00
Tom Deakin
eeaf9358ab Create OCL kernel functors 2016-04-28 15:01:43 +01:00
Tom Deakin
38e1e3b704 Add starts of OpenCL implementation 2016-04-28 12:59:14 +01:00
Tom Deakin
a745ffc724 Add more keywords to CUDA header 2016-04-28 12:07:09 +01:00
Tom Deakin
59fe9738b6 Add a templated run function to make double/float switch easy 2016-04-28 12:03:50 +01:00
Tom Deakin
8d88afdedb Tidy up timing printing to reduce code duplication 2016-04-28 11:57:09 +01:00
Tom Deakin
377b348748 Move implementation string to the common header file 2016-04-28 11:15:25 +01:00