由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Apple版 - OpenCL:图形处理领域的革新【14/23】
相关主题
Mac OS X 背后的故事(九)半导体的丰收(下)zz据传,果子和amd有一腿
OpenCL: 很美而且垂手可得【15/23】刚退了ipad
关于OpenCL-苹果,Intel,AMD,NVIDIA和MSFTiOS 4.3 Beta Hints at OpenCL-Capable SGX543 GPU in Future Devices
[合集] 关于OpenCL-苹果,Intel,AMD,NVIDIA和MSFTMBP 13" + 24 monitor和MBP 15"比性能差多少?
有关于ipad及A4性能方面的具体消息了吗?牛排现在这么搞直接废了几个很好的画画app
nV CEO说他家电脑全是苹果;nV + OpenCL?转这些技术文章的原因
apple or lenovaMac Pro 明天就可以order了,真希望自己有钱买一个
装上SL后到底是比原来凉了还是热了?苹果退出英国芯片公司股价暴跌
相关话题的讨论汇总
话题: gpu话题: opencl话题: 图形处理话题: cpu话题: shaders
进入Apple版参与讨论
1 (共1页)
a****a
发帖数: 5763
1
http://bbs.weiphone.com/read-htm-tid-527192.html
OpenCL
截至到现在,我们在《Snow Leopard:宝刀已铸成 关二爷请砍人(连载8/23)》
中探讨了程序开发者们究竟该如何充分利用现有的硬件资源来进一步提升计算机整体性
能,在《Snow Leopard充满活力的心脏——LLVM和Clang(连载9/23)》中了解了更为新
颖与现代的编译构建,在《持续完善,构建编程友好型环境(连载10/23)》中谈到了
Snow Leopard中新添加的编程语言扩展功能,并且在《Grand Central Dispatch:迎接
挑战(连载12/23)》中认识了基于这些新编译器的更强大更务实的并行API。所有这些都
意在帮助开发者和操作系统本身最大限度地利用已有硬件资源。
然而CPU却不是唯一镶满晶体管的元件。当涉及独立计算引擎时,每一台Mac中
都有另一块硅片无疑是更为显要的,那就是GPU。
引用
图形处理单元(graphics processing unit,GPU):是一种专门进行图形处理的
处理器,广泛应用于嵌入式系统、移动电话、个人电脑、工作站以及游戏设备之上。现
代的GPU能够高效地处理计算机图像,与普通的CPU相比能够胜任很多复杂的图形运算。
GPU所采用的核心技术有坐标转换及光源(T&L)技术、立方环境材质贴图(cube
environmental mapping)、凹凸贴图(bump mapping)等。GPU可以整合在显卡上,也可
以直接安装在主板上。目前,超过90%的新款台式机和笔记本电脑都配备有GPU,但是性
能上往往逊色于独立显卡。详情请参阅wikipedia
让我们用具体数字来说明情况。Mac的CPU最高配备了四核(由于采用了对称多线
程(symmetric multithreading)技术,能够将4个物理核虚拟为8个逻辑核),而高端的
GPU能够包括200个处理核;CPU的运算能力仅能达到100GFLOPS,而高端的GPU却能达到
1000GFLOPS(译注:FLPOS,FLoating-poing Operations Per Second是表征计算机处理
速度的一种单位,表示每秒钟能够执行的浮点运算的次数。G为词头,表示giga,
1GFLOPS=109 FLPOS)。另外,目前计算机能够搭载不止一块CPU,而GPU也是如此(参见
Nvidia.com)。
为GPU而生
遗憾的是,GPU上的“核”并非通常意义上的处理器。它们只是一种相当简单的
计算单元,由无法直接编程的固定功能芯片发展而来。它们不支持CPU上丰富的指令系
统(set of instructions),其上运行的程序的程序的大小通常是受限制的(也是相当小
的),并且也不支持IEEE浮点计算行业标准中的所有功能。
目前的GPU已经能够编程了,但也被严格地限定在图形编程领域内:vertex
shaders,geometry shaders,pixel shaders。用来编写GPU程序的语言通常也是那些
主要关注图形处理的语言:HLSL,GLSL,Cg等。
引用
在计算机图形学领域,着色器(shader)是一种软件指令集,主要用于处理渲染
效果。着色器可以用来为GPU编写渲染管线(pipeline),很大程度上取代了以往仅允许
一般几何变形(geometry transformation)以及像素着色(pixel shading)的固定功能管
线。通过着色器,可以使用很多自定义效果。在Direct3D以及OpenGL图形库中,通常使
用3种类型的着色器:vertex shaders,geometry shaders,pixel shaders。详情请参
阅wikipedia
然而,除了图形处理之外,还有不少计算任务很适合GPU硬件。如果能有一种非
图形导向的语言能够编写,那将是一件很不错的事情。不过弄这样一种东西却是一个很
大的挑战。GPU硬件之间往往存在天壤之别:执行单元的数量与种类,可用数据格式,
数据指令集,内存构建,等等等等。
图形处理其制造商NVIDIA在此方面做出了尝试,推出了CUDA:这是一种C语言子
集,具备矢量数据类型扩展、反映典型GPU分级存储体系的数据存储说明符(data
storage specifier)、以及一些捆绑计算库。CUDA是蓬勃发展的GPGPU领域(General-
Purpose computing on Graphics Processing Units,通用图形处理其)中的一员。然
而,由于CUDA出身于GPU制造商,因此遭遇了一些开发者的敌对情绪,他们真正需要的
是一个与制造商无关的解决方案。
在3D处理领域,OpenGL充当了这个角色。正如您设想的,OpenCL针对的是通用
计算(general-purpose computation)。事实上OpenCL和OpenGL一样,都是由Khronos
Group赞助支持的。但是不要混淆,OpenCL是Apple的果实。
Apple深知,OpenCL获得成功最好的机会便是成为一个行业标准,而不仅仅是
Apple的一项技术。为此,Apple需要与顶尖的GPU制造商合作,并就一个既定的、广泛
认可的标准主体达成协议。这需要一些时间,但是目前一切都在轨道上。
OpenCL和CUDA很类似,也使用具备矢量扩展的类C语言,并具有类似的分级存储
模块,等等。这并不奇怪,因为在OpenCL的研发过程中Apple与NVIDIA的合作是相当的
亲密。同时,任何一家大型GPU制造商也不可能轻易变更其硬件以支持这项尚未得到证
实的标准。因此,OpenCL必须与现有的支持CUDA、GLSL等编程语言的GPU紧密合作。
1 (共1页)
进入Apple版参与讨论
相关主题
苹果退出英国芯片公司股价暴跌有关于ipad及A4性能方面的具体消息了吗?
大喊一声:求推荐编译器nV CEO说他家电脑全是苹果;nV + OpenCL?
ipod touch 三代apple or lenova
Clang编译器。。。装上SL后到底是比原来凉了还是热了?
Mac OS X 背后的故事(九)半导体的丰收(下)zz据传,果子和amd有一腿
OpenCL: 很美而且垂手可得【15/23】刚退了ipad
关于OpenCL-苹果,Intel,AMD,NVIDIA和MSFTiOS 4.3 Beta Hints at OpenCL-Capable SGX543 GPU in Future Devices
[合集] 关于OpenCL-苹果,Intel,AMD,NVIDIA和MSFTMBP 13" + 24 monitor和MBP 15"比性能差多少?
相关话题的讨论汇总
话题: gpu话题: opencl话题: 图形处理话题: cpu话题: shaders