I have created an OpenCL block that allows a user to interface with an
OpenCL compatible device, like a GPU. This block handles most of the
complications of using the OpenCL API. All the user has to do is feed
the block a .cl file with the kernel source and click run!
This block makes use of GRAS’s new buffer model and buffer API so memory
allocated by OpenCL can be directly written by upstream blocks and
directly read by downstream blocks. This translates to DMAs over the
PICe bus for most graphics cards, with no unnecessary memcpys between
Now I should note that signal processing on GPUs is not something that
is inherently faster vs a GPP implementation. Algorithms that are highly
parallel and “expensive” tend to be better candidates. I am excited to
see what interesting kernels users can come up with!
For more details, install instructions, examples, see: