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
1
vote
1 answer

SYCL: Runtime-Error when initialising a queue

When initialising a queue in SYCL with ComputeCpp I get a Runtime-Error using Visual Studio 2022. Also I tried exact the same code used on the Codeplay Guide. I'm able to trigger this error just by initialising a queue, without selecting any device…
Spaghetti
  • 11
  • 1
1
vote
1 answer

SYCL DPC++ auto detect device

This question might be trivial, unfortunately I haven't found the answer I was looking for. I used dpct migration tool to port some cuda code to Intel DPC++ and then I further optimized everything I needed and eventually got rid of everything…
Elle
  • 305
  • 2
  • 10
1
vote
0 answers

port SYCL/DPC++ code originally written for GPUs to FPGAs

I'm kinda new to the world of FPGAs and I'm trying to port some code written for GPUs to FPGAs, to compare the performances. From my understanding, using parallel_for ain't a good practice (in fact it runs very slow), instead (I think) I should use…
Elle
  • 305
  • 2
  • 10
1
vote
1 answer

Is there a way to check the number of CPU threads in use with sycl?

I'm not sure this question is correctly formulated, I'm still learning. I was wondering if there is a way, when I run a sycl program with a cpu_selector to get if I'm using it as single core or multi core
Elle
  • 305
  • 2
  • 10
1
vote
1 answer

Is there a DPC++/SYCL equivalent of CUDA's atomicCAS?

From my understanding, CUDA's atomicCAS has the following definition (this is one of the four) int atomicCAS(int* address, int compare, int val); and it compares atomically the values located at address (named in the doc old) in the global shared…
Elle
  • 305
  • 2
  • 10
1
vote
1 answer

How do I translate this simple OpenACC code to SYCL?

I have this code: #pragma acc kernels #pragma acc loop seq for(i=0; i
gamersensual
  • 105
  • 6
1
vote
1 answer

How do I translate this ACC code to SYCL?

My question is: I have this code: #pragma acc parallel loop for(i=0; i
gamersensual
  • 105
  • 6
1
vote
3 answers

SYCL No kernel named was found -46 (CL_INVALID_KERNEL_NAME)

The following c++ SYCL code works only using host device, using GPU device (NVIDIA or INTEL) I have the following error: No kernel named _ZTSZZN10MainWindow15testPerformanceEiENKUlRN2cl4sycl7handlerEE_clES3_E10FillBuffer was found -46…
1
vote
1 answer

Is it safer to use OpenCL rather than SYCL when the objective is to have the most hardware-compatible program?

My objective is to obtain the ability of parallelizing a code in order to be able to run it on GPU, and the Graal would be to have a software that can run in parallel on any GPU or even CPU (Intel, NVIDIA, AMD, and so...). From what I understood,…
Balfar
  • 125
  • 7
1
vote
1 answer

In dpc++ malloc_shared can we share a buffer between 2 gpus

In sycl/dpc++ malloc_shared I am aware that it is possible to create a buffer which could be shared between the host and a single gpu with the below function. void* malloc_shared(size_t num_bytes, const sycl::device& dev, …
valiant
  • 11
  • 1
1
vote
1 answer

Writing SYCL code for different implementations

SYCL has various different implementations like DPC++/oneAPI , ComputeCpp , hipSYCL, triSYCL. Is it possible to write the same SYCL code and compile this with all different implementations? If it is not how much different can it be? Thanks
enes1994
  • 13
  • 2
1
vote
2 answers

How to specify particular GPU Device to be used at the time of running a program in SYCL/DPC++?

I was trying the code with SYCL/DPC++. I have two GPUs present on my device. How can I specify that my code needs to run on a particular GPU device? When I am trying to run my code using "gpu-selector" only one default one is used to run. How can I…
sv6
  • 11
  • 4
1
vote
1 answer

How to build SYCL programs using DPC++ & CMake?

Background I'm trying to learn SYCL using CUDA backend (I compiled dpc++ compiler using these instructions and vector addition worked). However, the next day I couldn't get the first example from the book to work by using CMake, however using…
Incomputable
  • 2,188
  • 1
  • 20
  • 40
1
vote
1 answer

SYCL/DPC++ cpu version gives correct result, but gpu gives incorrect data

I compiled and ran the below code with intel dpc++ compiler. I am getting right result when using cpu selector but gpu selector gives garbage value. All that my code does is an array named data is intialised with all 1's. In sycl kernel an accessor…
ArunJose
  • 1,999
  • 1
  • 10
  • 33
1
vote
1 answer

Setting Various compilers in CMake for creating a shared library

I am looking to set various compilers for different folders in my project, which should compile to a shared library. The project structure is as follows - /Cuda a.cu b.cu c.cu header.cuh /SYCL a.cpp b.cpp c.cpp …
Atharva Dubey
  • 832
  • 1
  • 8
  • 25
1 2
3
9 10