OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU.
Announcements
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.
1719 Discussions

SYCL support in Intel OpenCL SDK

LLess
Beginner
1,118 Views

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

0 Kudos
5 Replies
Raghupathi_M_Intel
1,118 Views

Hi Laurent,

We cannot comment on future products or features on this forum, but we will look into it.

Thanks,
Raghu

0 Kudos
James_R_
Beginner
1,118 Views

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.

0 Kudos
LLess
Beginner
1,118 Views

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.

 

 

0 Kudos
Jeffrey_H_Intel
Employee
1,118 Views

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.

0 Kudos
Jeffrey_H_Intel
Employee
1,118 Views

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

0 Kudos
Reply