GPU Compute Software
Ask questions about Intel® Graphics Compute software technologies, such as OpenCL* GPU driver and oneAPI Level Zero
358 Discussions

supported platforms for DC++ and sycl

JamesS
Beginner
1,147 Views

 

I'm currently adding GPU accelerated code to an application. I would strongly prefer a development strategy that works on a variety of hardware and software platforms, and don't mind a small performance penalty compared to vendor-specific options. I was initially thinking that dpc++/sycl would be a great solution, but the more I dig into it the less useful it seems. The lack of support for Nvidia and AMD hardware makes it a non-starter for me.

 

I can imagine sycl gaining a lot of market traction if it worked on a wide variety of platforms, which would obviously be good for Intel GPUs. But if dpc++/sycl is only for Intel hardware, it seems like a bridge to nowhere.

 

So my question is has Intel announced a timeline for supporting different hardware backends?  Have they communicated a strategy to provide broader hardware/software support? 

 

 

 

Labels (1)
0 Kudos
3 Replies
Ben_A_Intel
Employee
1,095 Views

Hello, SYCL and oneAPI support more than just Intel devices.

For NVIDIA GPUs, see: https://developer.codeplay.com/products/oneapi/nvidia/home/

For AMD GPUs, see: https://developer.codeplay.com/products/oneapi/amd/home/

Hope this helps, cheers!

0 Kudos
JamesS
Beginner
1,069 Views

 

Thanks for your help. My application needs to run on linux and windows and needs to be able to use essentially any modern GPU.

 

Do I understand correctly that the Codeplay plugin only work on linux and with specific high-end Nvidia or AMD GPUs? 

 

This documentation (I admittedly don't know what is being described) also suggests that windows support is experimental and not tested:

https://github.com/intel/llvm/blob/sycl/sycl/doc/GetStartedGuide.md

 

I was hoping that sycl would have an OpenCL backend that would work on nearly anything, and some documentation at Khronos seems to suggest that this exists, but I can't find a working implementation?

 

It would be great to use sycl and have it compile to hardware optimized versions where possible, but generic but broadly useful OpenCL otherwise. Does that exist? Or is OpenCL the more appropriate option at this point?

 

Thanks!

0 Kudos
JamesS
Beginner
979 Views

 

As a quick follow up, I was excited about sycl and hoping that it would be a good option for my project. But at present, if I understand the ecosystem correctly, it doesn't seem like it is quite far enough along. 

 

I am reluctantly coming to the conclusion that I'll have to develop our GPU support through CUDA, issue warnings to users with AMD or Intel hardware, and then if time permits I'll develop a reduced functionality version with OpenCL. I don't like it, but I don't see any other options.

 

I'm guessing that Intel isn't eager to provide strong support for Nvidia or AMD hardware in DPC++, but from my view that seems like exactly what is needed for sycl and GPU compute on Intel hardware to be broad adopted.

 

Anyway, thanks for links.

0 Kudos
Reply