Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.

Running OpenCL kernel (s) on CPU and GPU

Kapil_D_
Beginner
220 Views

Hi,

I am posting my queries in "media" forum because I think they are related to the OpenCL driver. Please let me know if I should post it to some other forum as well.

I have installed intel media server studio essential 2015 R5 took kit. I have CentOS 7.1 running on Intel i7-4790K processor with HD4600 graphics. I want to confirm/ask following points related to running OpenCL programs with the new OpenCL Driver:

1) Although the website (https://software.intel.com/en-us/articles/opencl-drivers , 3rd option) says that the OpenCL driver on Linux OS supports only GPU, I am able to run the programs on both CPU and GPU by using CL_DEVICE_TYPE_{GPU/CPU} options. I am wondering if there is any limitation that I should be aware of while running a program on CPU. Please confirm.

2) Is it possible to execute multiple kernels at the same time on GPU? More specifically, I would like to know about the scheduling behavior in following cases:

(a) When multiple kernels (with no dependencies among them) are launched from an application through multiple command-queues: Do these kernels run concurrently, say when a particular kernel does not use all available cores of GPU? I know that there are four time stamps in a kernel execution: enqueue, submit, start, end. Can multiple kernels have an overlap between start and end? I think Device fission is one way of dividing the number of cores in to different groups, but I am wondering if the GPU hardware has an internal mechanism to run multiple kernels without Device fission?

(b) When multiple kernels are launched from DIFFERENT applications: Here, different kernels belong to different programs. How does the OpenCL driver schedule kernels in this case? Can multiple kernels "run" concurrently?

Thanks,

Kapil

 

0 Kudos
2 Replies
Shaojuan_Z_Intel
Employee
220 Views

Hi Kapil,

Could you post your questions in the OpenCL forum here http://software.intel.com/en-us/forums/opencl? I think you will get more information there. Thanks!

Kapil_D_
Beginner
220 Views

Thanks Shaojuan!

Based on your suggestion, I posted it on "OpenCL" forum as well.

-Kapil

Reply