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

How oneAPI support parallel tasks on CPU?

Roin
Beginner
503 Views

The task (kernel) is in SPMD format.

As I know for some OpenCL implementation, they execute SPMD kernel on CPU (MPMD architecture) by wrapping a whole block/work-group into a function, and using thread-pool to ask CPU cores executes these functions.

For example, for the given kernel:

a[tid]=b[tid];

will be converted to

for(int tid = 0; tid<block_size;tid++)

    a[tid]=b[tid];

Does oneAPI do the same transformation?

Thanks

0 Kudos
3 Replies
NoorjahanSk_Intel
Moderator
458 Views

Hi,


Thanks for reaching out to us.


DPC++ includes SYCL, which is a higher-level abstraction layer that builds on OpenCL.


>>Does oneAPI do the same transformation?


Yes, OneAPI also follows the same transformation.

DPC++ follows the SPMD format while writing kernels.


Please refer to Data-Parallel C++ by James Reinders for more details.

 Pdf page no:124 or Textbook page no:99


Please refer to the below link to find DPC++ oneAPI sample that follows SPMD format.

https://github.com/oneapi-src/oneAPI-samples


Thanks & Regards,

Noorjahan


NoorjahanSk_Intel
Moderator
429 Views

Hi,


We haven't heard back from you. Could you please provide an update on your issue?


Thanks & Regards,

Noorjahan.


NoorjahanSk_Intel
Moderator
371 Views

Hi,

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


Thanks & Regards,

Noorjahan.


Reply