1

I have just started reading about hipSYCL an implementation of SYCL but there is not much info on it. So my question is does hipsycl supports windows? and also does it support all modern Intel GPUs? Thanks for help

I have read github readme and few other articles but still confused

ZSA
  • 85
  • 1
  • 13

3 Answers3

2

I'm the hipSYCL author, so let me clarify the situation a bit:

  • hipSYCL supports NVIDIA GPUs, AMD GPUs and CPUs. We do not support Intel GPUs at the moment. This is because hipSYCL doesn't rely on OpenCL as underlying technology but on HIP/CUDA which is only implemented by NVIDIA and AMD.
  • For AMD GPUs, we rely on AMD's ROCm platform which at the moment is not supported on windows by AMD.
  • For NVIDIA GPUs we use CUDA, which also works on Windows. So, in principle we should be able to support windows for NVIDIA GPUs. However:
    • None of the current hipSYCL developers has a windows development environment, so likely nobody has actually tried using hipSYCL on windows. It could be that there are some minor hiccups due to different path conventions etc.
    • hipSYCL by default uses clang as CUDA compiler. The clang CUDA implementation is not well maintained on windows at the moment, see here.
    • At the moment, hipSYCL in principle can also use nvcc as CUDA compiler (which is supported by nvidia on windows), but this is not recommended because nvcc has certain restrictions with modern C++ features like lambdas, which may or may not be a problem for your SYCL code.
  • The CPU backend should also work on windows, although it is at the moment more intended for debugging. As such, performance will not be optimal. I plan on working on that in the coming weeks, but for now triSYCL or ComputeCpp may be a better option for you if you are interested only in CPUs.

If you would like to try hipSYCL on Windows and boldly go where no man has gone before, I would be very interested in your experiences. Let us know in the project's GitHub issue tracker if we can do anything to help you!

illuhad
  • 21
  • 1
  • Thanks alot for your detailed reply i am going to start work on SYCL. Currently i am studying its 3 implementations and will choose one to work on. I will contact you incase i went ahead with hipSYCL. Thanks – ZSA May 21 '19 at 14:36
1

HipSYCL doesn't work on Windows due to the reasons outlined in the thread here however it is possible to use SYCL with ComputeCpp on Windows with old AMD drivers or on Intel processors with their OpenCL drivers. You can find out more about ComputeCpp and SYCL at https://developer.codeplay.com

Rod Burns
  • 2,104
  • 13
  • 24
0

Giving an update to illuhad's answer: hipSYCL does now indeed have experimental support for Windows. This currently supports the CPU and CUDA backends, whereas the newly added Level Zero backend was also tested successfully recently. The HIP backend for AMD GPUs cannot be supported on Windows as AMD's ROCm platform is not supported on Windows.

As the CUDA backend relies on LLVM's CUDA support, the maturity is to be expected equal to that of CUDA with LLVM on Windows: experimental. From the hipSYCL side, Windows CPU and CUDA builds are regularly tested in the CI, with only the CPU tests being run there.

To use and install hipSYCL on Windows you can refer to the wiki.

fodinabor
  • 451
  • 5
  • 15