我正在尝试使用clCreateProgramWithBinary获得一个基本程序.这是我知道如何使用它而不是"真正的"应用程序.
我看到其中一个参数是二进制文件列表.我究竟要如何创建一个二进制文件来测试?我有一些测试代码,它从源代码创建程序,构建和排队.在这个过程中的某个时刻是否有一个二进制文件可以输入clCreateProgramWithBinary?
这是我的一些代码,只是为了了解我的整体流程.为简单起见,我省略了注释和错误检查.
program = clCreateProgramWithSource(clctx, 1, &dumbkernelsource, NULL, &errcode);
errcode = clBuildProgram(program, env->num_devices, env->device, NULL, NULL, NULL);
mykernel = clCreateKernel(program, "flops", &errcode);
errcode = clGetKernelWorkGroupInfo(mykernel, *(env->device), CL_KERNEL_WORK_GROUP_SIZE, sizeof(local), &local, NULL);
global = num_workgroups * local;
errcode = clEnqueueNDRangeKernel(commands, mykernel, 1, NULL, &global, &local, 0, NULL, NULL);
Run Code Online (Sandbox Code Playgroud) opencl ×1