[CMake] Converting a OpenCL program into a C++ header?

Daniel Blezek Blezek.Daniel at mayo.edu
Tue Jun 15 17:13:01 EDT 2010


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?

Thanks,
-dan
-- 
Daniel Blezek, PhD
Medical Imaging Informatics Innovation Center

P 127 or (77) 8 8886
T 507 538 8886
E blezek.daniel at mayo.edu

Mayo Clinic
200 First St. S.W.
Harwick SL-44
Rochester, MN 55905
mayoclinic.org


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100615/aa6acbbd/attachment.htm>


More information about the CMake mailing list