Intel® C++ Compiler
Support and discussions for creating C++ code that runs on platforms based on Intel® processors.
7692 Discussions

LLVM Plugin support with ICPX / DPCPP

fodinabor
Beginner
797 Views

Hi,

I'm currently researching some compiler optimizations for the CPU backend of the hipSYCL project inside a Clang & LLVM plugin. As we have to heavily rely on the compiler's auto-vectorizer, I wanted to have a look at whether I could take advantage of ICPX's promised performance benefits as it's based on LLVM and I guess there are others out there who'd benefit from this.

To do so, I'd have to be able to compile the plugin either against ICPX directly, thus requiring the necessary dev files (headers & libs), or find an API and ABI compatible LLVM version to build against and then just use the plugin with ICPX.

As the latter is very brittle, given there probably are some not easily observable changes in ICPX and guessing a good LLVM version being non-trivial, too.

Thus I'd like to ask whether there's any chance to get access to the required (binary) dev files or there's any other opportunity to use LLVM plugins with the production compilers.

Thanks!
Joachim

0 Kudos
7 Replies
NoorjahanSk_Intel
Moderator
753 Views

Hi,


Thanks for reaching out to us.


>>whether there's any chance to get access to the required (binary) dev files


You can use icpx/dpcpp from opensource oneAPI to get the dev files but access to required Intel oneAPI (binary) dev files may not be possible.


You can refer the below link regarding opensource oneAPI:

https://www.oneapi.io/open-source/


Thanks & Regards

Noorjahan.


NoorjahanSk_Intel
Moderator
704 Views

Hi,


Has the information provided helped? If yes could you please confirm whether we can close this thread from our end?


Thanks & Regards,

Noorjahan.


fodinabor
Beginner
689 Views

Hi,

I know I could use the https://github.com/intel/llvm project and build the plugin against that.

But to my knowledge, this Open Source project is mostly a staging repository and does not contain the vectorizer optimizations that bring the promised performance uplift compared to upstream LLVM. So to be able to take advantage of these improvements in conjunction with the LLVM plugin, to my knowledge, I'd have to directly build against and use the binary distributions of ICPX / DPCPP.

Please correct me if anything of the above is wrong, but right now, I don't think the inquiry is solved.

Being able to build the plugin does not require the full compiler to be open-sourced, but just shipping some additional files, that also don't expose much more of trade secrets than the binary distribution does already. Those additional files are shipped in a separate package for most other projects, so only those that need them, have to install them.

I'd really appreciate, if adding those development files would be considered!

Greetings,

Joachim

NoorjahanSk_Intel
Moderator
674 Views

Hi,


We are looking into it. We will get back to you soon.


Thanks & Regards

Noorjahan.


cw_intel
Moderator
625 Views

Thanks for contacting us. We will let you know soon.


cw_intel
Moderator
300 Views

Hi,


I'm sorry to say that we can’t ship it since this involves Intel IP.


Thanks


cw_intel
Moderator
218 Views

Hi,


We will no longer respond to this thread.  If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only.


Thanks


Reply