- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have installed Intel oneAPI base tool kit which comes with intel C++ compilers.
On "Intel oneAPI command prompt for Intel 64 for Visual Studio 2019", I can invoke either of dpcpp and icx to compile C++ code.
What's really the difference between the two? is it that for data parallel C++ code I need to use dpcpp and I can use either of the two for C++ code? Also, how icx/dpcpp compare with classic C++ compiler (icl on windows)?
There is some discussion on the thread major differences between dpcpp-and icx but it does not really answer my question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for reaching out to us.
ICX is Intel's next-gen compiler based on Clang /LLVM technology plus Intel proprietary optimizations and code generation.
The DPC++ Compiler compiles C++ and SYCL source files with code for both CPU and different accelerators.
DPCPP is built upon ICX as the underlying C++ Compiler with dpcpp driver.
Please refer to the below link for more details:
ICC(Linux)/ICL(windows) is a classic compiler used to compile applications on CPU targets.
ICL and ICC are independent of icx/dpcpp and neither of them invokes each other
ICX enables OpenMP TARGET offload to Intel GPU targets.
Please refer to the below link for more details:
Thanks & Regards,
Noorjahan.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for reaching out to us.
ICX is Intel's next-gen compiler based on Clang /LLVM technology plus Intel proprietary optimizations and code generation.
The DPC++ Compiler compiles C++ and SYCL source files with code for both CPU and different accelerators.
DPCPP is built upon ICX as the underlying C++ Compiler with dpcpp driver.
Please refer to the below link for more details:
ICC(Linux)/ICL(windows) is a classic compiler used to compile applications on CPU targets.
ICL and ICC are independent of icx/dpcpp and neither of them invokes each other
ICX enables OpenMP TARGET offload to Intel GPU targets.
Please refer to the below link for more details:
Thanks & Regards,
Noorjahan.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for accepting our solution. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.
Thanks & Regards,
Noorjahan.

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