[CMake] Converting a OpenCL program into a C++ header?
David Cole
david.cole at kitware.com
Tue Jun 15 17:24:42 EDT 2010
On Tue, Jun 15, 2010 at 5:13 PM, Daniel Blezek <Blezek.Daniel at mayo.edu>wrote:
> Hi,
>
> We would like to convert an OpenCL program written in a separate file to
> a C++ header (essentially a long string).
>
> For example, if my OpenCL program is in the file Square.cl
>
> __kernel square(
> __global float* input,
> __global float* output,
> const unsigned int count)
> {
> int i = get_global_id(0);
> if(i < count)
> output[i] = input[i] * input[i];
> }
>
> I’d like to turn it into something like this in Square.h:
>
> const char *KernelSource = "\n" \
> "__kernel square( \n"
> \
> " __global float* input, \n"
> \
> " __global float* output, \n"
> \
> " const unsigned int count) \n"
> \
> "{ \n"
> \
> " int i = get_global_id(0); \n"
> \
> " if(i < count) \n"
> \
> " output[i] = input[i] * input[i]; \n"
> \
> "} \n"
> \
> "\n";
>
> So that my OpenCL code can be directly compiled into my executable. This
> is also useful for OpenGL shaders.
>
> The question: is this something that CMake could do? If so, any examples
> where to begin looking?
>
It is. CMake can definitely do that. I know I've written code like this
somewhere... I have to dash off at the moment, but when I get back to a
computer, I'll see if I can look it up and pass along a function that does
something similar.
Unless somebody else beats me to it. :-)
- David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100615/eae7d996/attachment-0001.htm>
More information about the CMake
mailing list