OpenCL编程的过程

本文详细介绍了OpenCL编程过程,包括获取设备ID、创建上下文、命令队列、程序对象、构建OpenCL程序、创建内核对象、缓存对象、传递实参、执行内核及获取结果等步骤。通过这些步骤,可以理解如何在OpenCL环境中进行高效计算。
摘要由CSDN通过智能技术生成

编写OpenCL程式

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

先取得系统上所有的OpenCL platform(先取得platform的数目;取得platform的ID);
建立一个OpenCL context;
取得装置的列表;
建立Command Queue:Command queue 可以接收对一個 OpenCL 裝置的各种操作,並按照顺序执行

 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、


OpenCL编程的过程:
 
1、获得平台,clGetPlatformIDs
 
2、创建上下文,clCreateContextFromType,这个函数的第一个参数为NULL时在AMD的平台上运行不能通过,必须为该函数指定第一个参数。
 
3、通过上下文得到设备信息,clGetContextInfo
 
4、为相应设备创建comandQueue, clCreateCommandQueue
 
5、创建源程序,build源程序,生成kernel
 
6、分配buffer空间,逐个设置程序参数。
 
7、执行kernel,clEnqueueNDRangeKernel
 
8、从buffer读回数据,clEnqueueReadBuffer
 
---------------------------------------------------------------------------------------------------------------------------


OpenCL应用分两个部分:一个是主机端应用;一个是OpenCL内核。

创建一个opencl应用:

 1.获得设备ID:

使用clGetDeviceIDs()来获取一个或多个设备ID;调用完这个函数后,如果返回值为成功,那么以后就可以用这个ID来创建上下文了;

 2.获取上下文:<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值