Quantcast
Channel: Intel® Software - OpenCL*
Viewing all articles
Browse latest Browse all 1182

How to build native OpenCL kernel by assembly and load this kernel

$
0
0

Hello,

I want to learn how to build native OpenCL kernel by assembly and load this kernel. I am already able to generate assembly by the OpenCL kernel and compile it then:

ioc64 -cmd=build -input=kernel.cl -device=co -asm=file.s
icc -mmic -c file.s -o kernel

But how do I load this kernel into OpenCL runtime. My current approach did not work:

  FILE *fp;
  std::string fileName = "kernel";
  size_t binarySize;
  unsigned char *binaryBuffer;

  /* Load kernel binary */
  fp = fopen(fileName.c_str(), "r");
  binaryBuffer = (unsigned char *) malloc(MAX_BINARY_SIZE);
  binarySize = fread(binaryBuffer, 1, MAX_BINARY_SIZE, fp);
  fclose(fp);

  cl::Program::Binaries binaries;
  binaries.push_back( { binaryBuffer, binarySize });
  cl_int *err = new cl_int;

  cl::Program *program = new cl::Program(*context, devices, binaries, CL_SUCCESS, err);

How do I load the kernel file as OpenCL program?

 

Thanks, Simon


Viewing all articles
Browse latest Browse all 1182

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>