Opencl编程流程
#include<opencl/opencl.h> //opencl头文件
#pragma comment(lib,"OPENCL.lib")//引用OPENCL.lib静态库
void main()
{
clGetPlatformIDs();//查询平台
clGetDeviceIDs();//查询平台上的设备
clCreateContext();//创建上下文
clCreateCommandQueue();//创建命令队列
clCreateProgramWithSource();//创建CL程序
clBuildProgram();//编译CL程序
clCreateKernel();//创建CL内核
clCreateBuffer();//创建内存
clSetKernelArg();//将内存推送到GPU里面
clEnqueueNDRangeKernel();//计算
clEnqueueReadBuffer();//读取结果
}
详细内容参见:
clGetPlatformIDs()查询平台
clGetDeviceIDs()查询平台上的设备
clCreateContext()创建上下文
clCreateCommandQueue()创建命令队列
clCreateProgramWithSource()创建CL程序
clBuildProgram()编译CL程序
clCreateKernel()创建CL内核
clCreateBuffer()创建内存
clSetKernelArg()将内存推送到GPU里面
clEnqueueNDRangeKernel()计算
clEnqueueReadBuffer()读取结果