Intel® oneAPI Data Parallel C++
Support for Intel® oneAPI DPC++ Compiler, Intel® oneAPI DPC++ Library, Intel® DPC++ Compatibility Tool, and GDB*
413 Discussions

Custom Device Selector access to different devices by vendor name

itl-dag
Beginner
454 Views

I was interested to see the complex_mult example in the YouTube tutorial 'OneAPI/ DPC++ Essential Series hands on' about the online OneAPI/DPC++ platform. Especially the code for the CustomDeciceSelector class that impled access to devices by vendor name, including AMD and Nvidia, as well as Intel.

Does the online platform have different compiler/runtime to the downloadable OneAPI platform? This class was not included in my version of the complex_mult example and as I recreated the code and it only selects Intel devices on my system, I can see why.

Does that selector class work and if so, why are the platforms different? Will it be possible at some stage in the future to use more than one vendor's devices offline? Ideally to access heterogeneous hardware from one set of source code, or even to interoperate DPC++ or unextended SYCL code, like that from my previous AMD version of OpenCL that is able to select all relevant devices from any vendor?

 

0 Kudos
6 Replies
Soumya_M_Intel
Moderator
446 Views

Hi itl-dag,


Thanks for posting your concern on the forum. Since you have a technical query related to the Intel® oneAPI DPC++ Compiler, we are moving this topic to the 'Intel® oneAPI Data Parallel C++' community for further assistance.


Have a nice day ahead.


Regards,

Soumya


NoorjahanSk_Intel
Moderator
406 Views

Hi,


Thanks for reaching out to us.


>>Does the online platform have different compiler/runtime to the downloadable OneAPI platform? ..


No, there is no difference between the online platform and the downloaded OneAPI Platform

CustomDeviceSelector is a user-defined class, which is derived from the device selector class. We can select any device(CPU (or) any Accelerator) using this CustomDeviceSelector.


>>Does that selector class work and if so, why are the platforms different? Will it be possible at some stage in the future to use more than one vendor's devices offline?


If you want to use Devices other than intel, you can use opensource oneAPI to use vendor-specific devices.


Please refer to the below links for more details regarding opensource oneAPI:


https://intel.github.io/llvm-docs/

https://intel.github.io/llvm-docs/GetStartedGuide.html


Thanks & Regards,

Noorjahan.


NoorjahanSk_Intel
Moderator
374 Views

Hi,

 

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

 

Thanks & Regards,

Noorjahan

itl-dag
Beginner
364 Views

Noorjahan,

I did try the llvm project you suggested and there seems to be an issue with the opencl loader part of the build (see attached files configure.txt, compile.txt).

I have had the AMD APP SDK working successfully for several years and it has been able to target my Intel CPU, integrated HD Graphics and AMD GPU devices with appropriate OpenGL kernels. Now that SYCL is here, I wanted to try C++ to ease the software task, so I have tried ComputeCpp and now OneAPI/DPC++. This seems to have upset my current OpenCL environment (see attached file clinfo.txt).

I was expecting to have to modify my OpenCL runtime for the llvm compiler but it wasn't clear what needed to be done from the 'Getting Started Guide'. I tried to use the --system-ocl flag but this didn't seem to be a valid option. I was also surprised that the compiler selected was a mingw one rather than visual studio.

Is there a way forward for me?

 

NoorjahanSk_Intel
Moderator
337 Views

Hi,

 

Thanks for getting back to us.

We offer support for hardware platforms that the Intel® oneAPI product supports.

Please find the below link for supported platforms:

https://www.intel.com/content/www/us/en/developer/articles/system-requirements/intel-oneapi-dpcpp-sy...

 

Since you have an issue with opensource oneAPI DPC++, we suggest you to raise this issue in Github for better assistance as we do not provide support for opensource oneAPI.

 

Please refer to the below github link to raise this issue:

https://github.com/intel/llvm/issues

 

Hope the provided information helps. Please do let us know if we can close this thread from our end.

 

Thanks & Regards,

Noorjahan.

 

NoorjahanSk_Intel
Moderator
310 Views

Hi,


I have not heard back from you, so I will close this inquiry now. If you need further assistance, please post a new question.


Thanks & Regards,

Noorjahan.


Reply