- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I would like to know if we will see support for the newly announced SYCL Khronos standard in the Intel OpenCL SDK anytime soon?
For me using the C++ syntax described by SYCL will certainly be a big step forward closing the gap with CUDA.
Cheers.
Laurent
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Laurent,
We cannot comment on future products or features on this forum, but we will look into it.
Thanks,
Raghu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The abstraction penalty will do nothing to close any performance gaps between CUDA. SYCL requires a magic compiler that intelligently and automatically segments device code from host code. Nothing like it currently exists and I expect it will be some time before it's available on any platform.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Well I can't see any reason for a gap in performance between CUDA and OpenCL (except bad implementation).
All the wrapping from C++ to OpenCL kernels and call will have to do exactly the same work as the CUDA compiler is currently doing so I would not see it as a penalty since it is done at compile time. And since there are pragmas to guide the compiler on what to extract it is not really that hard. CUDA is doing exactly that so it is not really true that nothing else exists :)
In both cases you are going to have to write specific code if you want any sort of good performance. Memory management and access being the main issue as far as I have seen in all my tests, for example memory handling in CUDA for now is very different from what I used with the HD graphics since Intel supports shared memory between CPU and GPU.
I think that this part won't change greatly and it will still need special attention based on the data and workflow.
With SYCL we will gain easier access (for the developers, I personally greatly prefer C++ with templates than C code with String defined kernels) to OpenCL which is opening more devices and platform to us than CUDA is currently providing.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please see http://lists.llvm.org/pipermail/cfe-dev/2019-January/060811.html.
You can also try the CodePlay ComputeCpp SYCL compiler using Intel OpenCL. I've tried it on CPU and GPU with good results.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
To add to my previous post, the Intel LLVM compiler that supports SYCL is on GitHub: https://github.com/intel/llvm/blob/sycl/sycl/doc/GetStartedWithSYCLCompiler.md

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page