opencl 体系结构 - 平台

ZDNet软件频道 时间:2009-11-27 作者: | IT168网站 我要评论()
本文关键词:ORACLE
OpenCL是一个开放的国际标准,可以用来在不同架构的CPU, GPU使用统一的接口来编程, 包括了编程语言, API接口, 运行时库.最大的好处,也是我最喜欢的特性,就是可以写出高效的可移植代码.简单的说,过去你用CUDA写的代码就只能在Nvidia的卡上跑,StreamSDK写的代码就只能在ATI的卡上跑,但是有OpenCL,你就不用这么烦恼了,nvidia, ati, intel的GPU都可以通吃了.

  【IT168 文档概况

  OpenCL是一个开放的国际标准,可以用来在不同架构的CPU, GPU使用统一的接口来编程, 包括了编程语言, API接口, 运行时库. 最大的好处,也是我最喜欢的特性,就是可以写出高效的可移植代码.简单的说,过去你用CUDA写的代码就只能在Nvidia的卡上跑,StreamSDK写的代码就只能在ATI的卡上跑,但是有OpenCL,你就不用这么烦恼了,nvidia, ati, intel的GPU都可以通吃了.

  平台模型

  OpenCL的平台中,是一个主机控制控制多个设备,每个设备有多个CU(computer units),每个CU又包含多个PE(processing elements),可以理解成CPU做主控,多个GPU做数字协处理运算,如下图所示:

  在这个模型中,host可以理解成cpu,device可以理解成是显卡芯片,CU可以理解成是显卡芯片中的流处理器,PE可以理解成是流处理器中的运算单元ALU.举个简单的例子,在比较新的nvidia显卡和ati显卡中:Geforce GTX 280有240个流处理器,每个流处理器每个周期可以处理一个标量运算.所以Geforce GTX 280可以说是有240个CU,每个CU有1个PE,所以一共有240个PE.HD4850有160个流处理器,每个流处理器每个周期可以处理五个标量运算.所以HD4850可以说是有160个CU,每个CU有5个PE,所以一共有800个PE.但是实际上由于每次不可能把五个标量运算都用满,实际处理能力应该远没这么多.但是个人觉得理论值上A卡还是要多点.


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134