Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

oneTBB to schedule work execution on Intel GPUs #1304

Open
mabalenk opened this issue Jan 26, 2024 · 1 comment
Open

oneTBB to schedule work execution on Intel GPUs #1304

mabalenk opened this issue Jan 26, 2024 · 1 comment
Labels

Comments

@mabalenk
Copy link

Dear all,

I'm learning oneTBB now. In the future I would like to use oneTBB as an easier interface to submit work for execution on Intel GPUs. Is it a good approach or is it better to embrace SYCL and leave oneTBB aside? My task at hand is to convert a shared-memory code instrumented with OpenMP pragmas to oneTBB and run most of the work in parallel_for loops on GPU. Think of it as an analog to OpenMP offloading work to GPUs. If possible, would you please point me to some oneTBB parallel_for examples schedulling work for execution on GPUs? So far, I have found these three examples: https://github.com/oneapi-src/oneAPI-samples/tree/master/Libraries/oneTBB. But I cannot say I find it easy and straightforward to run code on GPUs. Thank you for your help!

@dnmokhov
Copy link
Contributor

Hi @mabalenk,

oneTBB only provides CPU parallelism, so you would need to use SYCL or oneDPL (Getting Started, samples) for GPU offloading.

The examples you found above illustrate how more advanced oneTBB features (flow graph, task group, and resumable tasks) can be used to split and coordinate work between CPU (oneTBB parallel algorithms) and GPU (SYCL parallel kernels).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants