OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU
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.
1663 Discussions

Implementing a packet processing program in OpenCl


Hi everybody,

I am very new to OpenCl. I need to write a packet processing program in OpenCl using GPU. Program is supposed to get some packets from sockets, checks their headers, does the match/action and outputs them on the correct outgoing socket. I have no idea how to do it. Could you please give me a hint on how I can implement such a program in OpenCl?

Thank you so much in advance,


0 Kudos
1 Reply

Hi Alireza,

As a first step, I would implement the code in C on the CPU. Once you are sure of its functional correctness and have a number of tests to prove it, I would start learning the OpenCL and moving it to the GPU.

For that, you can start with online tutorials and samples (we have some Tutorials and samples and here , but you could find more online) , or purchase a good OpenCL book, e.g. Heterogeneous Computing with OpenCL 2.0 .

Once you have a functionally correct OpenCL implementation, you might want to read our optimization guide: and download our tools Intel SDK for OpenCL Applications and Intel Vtune Amplifier .

Hope this helps!