Quantcast
Channel: Active questions tagged kernel - Stack Overflow
Viewing all articles
Browse latest Browse all 6334

Can I separate compile binary in opencl like this way?

$
0
0
cl_program prog_cl;;cl_program pprogram_head;std::ifstream srcFile("kernel.cl");string srcProg(istreambuf_iterator<char>(srcFile), (istreambuf_iterator<char>()));const char* src = srcProg.c_str();size_t src_length = srcProg.length();prog_cl = clCreateProgramWithSource(context, 1, (const char**)&src,&src_length, &err);err = clCompileProgram(prog_cl, 1, &device, NULL, 0, NULL, NULL, NULL, NULL);std::cout << "  clCompileProgram1: " << err;;char* programBinary = new char[1024];FILE* pf;size_t programBinarySize;clGetProgramInfo(prog_cl, CL_PROGRAM_BINARY_SIZES, sizeof(cl_device_id), &programBinarySize, NULL); programBinary = ( char*)malloc(sizeof(unsigned char) * programBinarySize);clGetProgramInfo(prog_cl, CL_PROGRAM_BINARIES, sizeof(unsigned char*), &programBinary, NULL);      fopen_s(&pf, "vec.bin", "w");fwrite(programBinary, 1, programBinarySize, pf);free(programBinary);fclose(pf);programBinarySize = readSource("vec.bin", &programBinary);cl_program prog[2];prog[0] = clCreateProgramWithBinary(context, 1, &device, &programBinarySize, (const unsigned char**)&programBinary, NULL, &err);std::cout << "clCreateProgramWithBinary" << err << std::endl;err = clCompileProgram(prog[0], 1, &device, NULL, 0, NULL, NULL, NULL, NULL);std::ifstream srcFile_head("add.cl");string srcProg_head(istreambuf_iterator<char>(srcFile_head), (istreambuf_iterator<char>()));const char* src_head = srcProg_head.c_str();size_t src_length_head = srcProg_head.length();prog[1] = clCreateProgramWithSource(context, 1, &src_head, &src_length_head, &err);err = clCompileProgram(prog[1], 1, &device,NULL, 0, NULL, NULL, NULL, NULL);std::cout << "clCompileProgramn3" << err;cl_program program = clLinkProgram(context, 1, &device, NULL, 2, prog, NULL, NULL, &err);

I always get cllinkprogram error.what is the right way to do this?I want compile a binary form disk.And Separate Compilation and Linking with clCompileProgram and clLinkProgram


Viewing all articles
Browse latest Browse all 6334

Trending Articles



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