Questions tagged [sycl]

SYCL (pronounced ‘sickle’) is a royalty-free, cross-platform abstraction layer that builds on the underlying concepts, portability and efficiency of OpenCL that enables code for heterogeneous processors to be written in a “single-source” style using completely standard C++.

SYCL (pronounced ‘sickle’) is a royalty-free, cross-platform abstraction layer that builds on the underlying concepts, portability and efficiency of OpenCL that enables code for heterogeneous processors to be written in a “single-source” style using completely standard C++. SYCL is developed by the Khronos group.

SYCL single-source programming enables the host and kernel code for an application to be contained in the same source file, in a type-safe way and with the simplicity of a cross-platform asynchronous task graph. SYCL includes templates and generic lambda functions to enable higher-level application software to be cleanly coded with optimized acceleration of kernel code across the extensive range of shipping OpenCL 1.2 implementations.

Developers program at a higher level than OpenCL C or C++, but always have access to lower-level code through seamless integration with OpenCL, C/C++ libraries, and frameworks such as OpenCV™ or OpenMP™.

Implementations of SYCL include ComputeCpp and triSYCL.

151 questions
0
votes
1 answer

How to define and execute an array of functions on Sycl+openCL+DPCPP

In my program, I defined an array of functions #include #include #include #include #include #include #include #include #include…
saharsa
  • 467
  • 1
  • 7
  • 24
0
votes
0 answers

cl::sycl::queue::submit throw cl::sycl::exception

I'm trying to run a small piece of code using SYCL but it keeps crashing. Here is a minimal example reproducing the problem. #include class vector_addition; int main(int, char**) { cl::sycl::default_selector device_selector; …
user10889578
0
votes
1 answer

Creating buffer in SYCL for 2D std::vector

What is the correct way to create a 2D std::vector buffer in SYCL? I have a template function which receives arguments as shown below: template void MatrixMulParallelNaive(queue& q, std::vector>& a, …
Karan Shah
  • 417
  • 6
  • 21
0
votes
2 answers

Random exit code on giving larger array sizes in DPC++ Vector Addition

I am trying to run a hello-world DPC++ sample of oneAPI which adds two 1-D Arrays on both CPU and GPU, and verifies the results. Code is shown below: /* DataParallel Addition of two Vectors */ #include #include #include…
Karan Shah
  • 417
  • 6
  • 21
0
votes
2 answers

EXC_BAD_ACCESS (code=EXC_I386_GPFLT) when indexing accessor

I'd like to run a parallel for loop to initialize a 2 dimensional buffer with random values. But I get an EXC_BAD_ACCESS (code=EXC_I386_GPFLT) exception in the first line of the kernel. This is the Code (the Pixel struct is from the PixelGameEngine…
Gian Laager
  • 474
  • 4
  • 14
0
votes
2 answers

OpenCL creating kernel from Host function at runtime

I'm trying out some OpenCL and wondered if there is a way to pass functions as a parameter to a kernel or what is the closest available match for it (using OpenCL 1.2). As an example consider a simple Monte Carlo integration like this: /* this is…
Malte
  • 65
  • 4
0
votes
1 answer

OpenCl header cl.h not found VS2019 ComputeCpp in SYCL/include_opencl.h

QUESTION 1 (TEMPORARLY SOLVED USING Vcpkg) I have read through all similar/related Questions but I'm at a loss here - I used Cmake to build the VS2019 project files for the ComputeCpp samples according to the Guide…
atie
  • 45
  • 5
0
votes
1 answer

triSYCL throws non_cl_error, when tricycle::device::~device is called

I'm trying to run a parallel for loop with triSYCL. This is my code: #define TRISYCL_OPENCL #define OMP_NUM_THREADS 8 #define BOOST_COMPUTE_USE_CPP11 //standart libraries #include #include //deps #include…
Gian Laager
  • 474
  • 4
  • 14
0
votes
1 answer

casting accessors to C++ pointers in kernel code (esp. (int (*)[Nelem])

Environment: Ubuntu 18.04, OneAPI beta 6 Full code is below, but here's the offending error: #dpcpp -O2 -g -o so2 so2.cpp -lOpenCL -lsycl so2.cpp:64:38: error: cannot cast from type 'global_ptr' (aka 'multi_ptr
justapony
  • 129
  • 8
0
votes
0 answers

ComputeCpp on Microsoft Visual Studio 2015

I recently installed ComputeCpp version 1.3 and I started a ComputeCpp project on Microsoft Visual Studio 2015. It came with the following sample code. //////////////////////////////////////////////////////////////////////////////// // // SYCL…
RoyTron
  • 1
  • 1
  • 1
0
votes
0 answers

Matrix multiplication in SYCL using nd_range

I am doing matrix multiplication in sycl, but having some problems. I am using 2 (4x4) Matrices for multiplication and on first iteration of for loop it works but on second iteration when i = 1 it works fine until C[11] = A[11]*B[15] but then it…
ZSA
  • 85
  • 1
  • 13
0
votes
1 answer

Any special step to build compute cpp sdk with VS2019 under W10 for NVidia

I'm trying to build the compute cpp sdk of codeplay under Windows 10 with Visual Studio 2019 to target some NVidia card. So far I have generate the solution throw cmake precising ptx64 as the COMPUTECPP_BITCODE. My issue is that after opening the…
Esteban
  • 11
  • 2
0
votes
1 answer

Implementing Matrix Addition and Multiplication in SYCL

I am trying to implement both matrix addition and multiplication in sycl within a single program but i am getting an error on addition part[no viable overloaded operator[] for type 'const]. I dont know the reason of error. It would be great help if…
ZSA
  • 85
  • 1
  • 13
0
votes
1 answer

What happens if using GPGPU APIs in a DLL and in the calling application

I'm currently designing a dll (and so) library, that will build offload tasks to CUDA, SYCL, OpenCL or Vulkan (not yet decided). As it is unknown what the application will do (might also use the same APIs), my question is, whether there might arise…
fodinabor
  • 451
  • 5
  • 15
0
votes
2 answers

Possible ComputeCPP SYCL bug reading nested buffers

I am trying to access a data structure with multiple levels of indirection on the GPU. The example hierarchy that I have now is A contains B contains C. Each contains data. A contains a pointer to B, B contains a pointer to C. When a heap-allocated…
user1832287
  • 329
  • 3
  • 11
1 2 3
9
10