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
2 answers

Compile and dynamically link generated c-code in SYCL

I have "*.c" files generated during runtime with function implementation int foo(int, int): extern "C"{ int foo(int a, int b) { return a + b; } } I want to use these implementations inside SYCL-kernels: q.submit([&](sycl::handler& h){ auto…
Anon232
  • 3
  • 6
0
votes
1 answer

sycl get_devices() return just the CPU while I have an integrated Intel Iris xe and a dedicated nvidia GPU

Currently I am working in a projet using DPC++. I have worked for a while in the Intel DevCloud. I haven't any problem using computing ressources. When I select a gpu, it works as expected. However, for privacy reasons I need to run sycl code in my…
0
votes
1 answer

No kernel named was found. First SYCL app

I'm trying to code my first SYCL app. Just some falling sand. The details aren't important. just if cell has sand and cell beneath is empty move the sand, else bottom left or bottom right or if no room do nothing. I don't have anything to visualize…
Aaron
  • 81
  • 2
  • 9
0
votes
1 answer

Cannot allocate more than 256MB in one allocation on my discrete Intel GPU using SYCL/DPC++ on Linux

When trying to allocate more than 256MB in one allocation on a discrete Intel GPU using SYCL/DPC++ on Linux, I get a runtime error and the program exits immediately, despite having significantly more than 256MB of free space left on the device.
Nigel Overmars
  • 213
  • 2
  • 11
0
votes
2 answers

SYCL dot product code gives wrong results

In the process of learning SYCL/DPC++, I wrote a SYCL GPU-enabled dot product code (full code on GitHub). #include #include #include #include int main (int argc, char* argv[]) { unsigned long N; /*…
wyphan
  • 216
  • 3
  • 12
0
votes
1 answer

Device-wide synchronization in SYCL on NVIDIA GPUs

Context I'm porting a complex CUDA application to SYCL which uses multiple cudaStream to launch the kernels. In addition, it also uses the default Stream in some cases, forcing a device-wide synchronization. Problem Cuda Streams can be mapped quite…
0
votes
0 answers

PageRank algorithm Runtime Errors on FPGA and GPUs using sycl

I'm having troubles doing experiments on fpga and gpu using sycl. I'm working online with intel devcloud and I get these 2 runtime errors when performing the executables: On FPGA: terminate called after throwing an instance of…
0
votes
1 answer

Mix JIT and AOT compilation for sycl devices

I have a program with a variety of kernels. In production these kernels run on a gpu device and require JIT (Just in time) compilation because we use specialisation constants. For testing we run on the CPU but we would like AOT (Ahead of time)…
Fantastic Mr Fox
  • 32,495
  • 27
  • 95
  • 175
0
votes
1 answer

Facing error: SYCL kernel cannot call a recursive function

I was running this code using SYCL and this error was coming up regarding recursion "error: SYCL kernel cannot call a recursive function" I am not sure what is causing this error. I used ordered set in the SYCL kernel and I am facing this issue not…
Pksingh
  • 53
  • 4
0
votes
2 answers

Warnings compiling simple SYCL program with Clang++

When compiling a very simple program with Clang++, vanilla version 16 (not intel version), I get warnings that do not arise when compiling with the dpcpp compiler. I am concerned since I have no way to know if the warnings will mean that my code…
0
votes
1 answer

SyCL DPC++: are nVidia GPUs supported in DPC++ under Windows?

I'm doing some ComputeCpp Vs DPC++ comparisons on Windows. ComputeCpp is fine to me so far, modulo being forced to use the Professional edition to encode multiple spir/PTX targets. I heard this limitation is not present using DPC++ but, from this…
0
votes
0 answers

SyCL ComputeCpp: issues with the matrix_multiply SDK example

I just managed to install successfully the SyCL ComputeCpp + OpenCL (from CUDA) and running cmake to generate the samples VS2019 sln, successfully. I've tried to run the matrix_multiply example ONLY, for now. It ran successfully using the Intel FPGA…
0
votes
1 answer

Passing lambda function to a SYCL parallel for region

A SYCL kernel can be submitted to a queue as follows - Queue.submit([=](handler& cgh){ cgh.parallel_for(_range, [=](nd_item<2> iter{ Write your function (F) here. }); }); Now, the above mentioned function F is…
Atharva Dubey
  • 832
  • 1
  • 8
  • 25
0
votes
1 answer

CL/sycl.hpp not located by VS Code (ubuntu 22.04)

I am starting with SYCL and my code runs well. However in the VS Code editor,#include is showing error squiggles and I need to update the include path to get the auto-suggestions. However I am unable to locate where the file is. I did a…
BoringSession
  • 55
  • 1
  • 7
0
votes
0 answers

Is there an alternative to calloc() in SYCL?

Is there an alternative to the C function calloc() in SYCL? Or the only alternative to imitate the behaviour is to use malloc_host() / malloc_device() and then memset()? I've tested out this last option and the performance drops dramatically. That's…
gamersensual
  • 105
  • 6