Intel® oneAPI Data Parallel C++
Support for Intel® oneAPI DPC++ Compiler, Intel® oneAPI DPC++ Library, Intel® DPC++ Compatibility Tool, and GDB*
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
467 Discussions

How oneAPI support parallel tasks on CPU?

Roin
Beginner
564 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
519 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
490 Views

Hi,


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


Thanks & Regards,

Noorjahan.


NoorjahanSk_Intel
Moderator
432 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