コンパイル済みバイナリからプログラムを構築する OpenCL 機能をテストしようとしています。これまでのところ、バイナリ ファイルを作成することはできましたが、読み込むのに問題があります。このコードを C++ バインディングで使用できるように調整しようとしています。
FILE* fp = fopen("oclLLtoUTM.ptx", "r");
fseek (fp , 0 , SEEK_END);
const size_t lSize = ftell(fp);
rewind(fp);
unsigned char* buffer;
buffer = (unsigned char*) malloc (lSize);
fread(buffer, 1, lSize, fp);
fclose(fp);
cl_int status;
cpProgram = clCreateProgramWithBinary(cxGPUContext, 1, (const cl_device_id *)cdDevices,
&lSize, (const unsigned char**)&buffer,
&status, &ciErr1);
if (ciErr1 != CL_SUCCESS)
{
cout<<"Error in clCreateProgramWithBinary, Line "<<__LINE__<<" in file "<<__FILE__<<" "<<endl;
Cleanup(EXIT_FAILURE);
}
ciErr1 = clBuildProgram(cpProgram, 0, NULL, NULL, NULL, NULL);
誰かが私にこれを手伝ってくれたり、解決できるリンクを提案したりできますか (C++ バインディングを使用する必要があります)?
前もって感謝します!