OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU.
Announcements
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.

Question about Parallization among Kernels

Xiaoying__Y
Beginner
536 Views

Hi there,

 

Sorry, dont know if it is proper to post a topic here.

 

I am working on some image pipeline on intel GPU using OpenCL.

Suppose I 3 different modules. A B C,

Input image →A→B→C→Output Image.

 

Currently A/B/C are processed with different kernels on gpu, and I want to do something like

breaking A/B/C into small tiles(tileA1, tileA2,...tileAn ,and tileB1...tileCn...) and make use of pipeline of them.

(because the Image size is quite big. it would take so much time if we wait unti each process is finished)

---

tileA1  tileB1  tileC1

    tileA2  tileB2  tileC2

      ...

                                           tileAn   tileBn  tileCn

---

I found OpenCL 2.1 has a feature named pipe, and channel(for FPGA only?)

And someone writes by using TBB we can achieve heteregenous parallel compute.

And also intel also provide openvino, I think it is using openvx? to handle the tile scheduling.

Please shed some light if you know anything about this topic.

 

Thank you in advance for you help and time.

 

Heterogeneous-Computing-Effects-Pipelining.pdf
0 Kudos
1 Reply
Xiaoying__Y
Beginner
536 Views
Sorry some additional question: I try to use the pipe feature: 1.input: 0-1023 2.write the input to pipe 3.read the pipe to output [intended to be sequential] 4.output: and the result is like random number from[0 to 1023] How may I control the sequence? Thanks for your help in advance.
0 Kudos
Reply