OpenCL全称OpenComputingLanguage,是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器(DSP)等其他并行处理器,在游戏、娱乐、科研、医疗等各种领域都有广阔的发展前景。
OpenCL1.0主要由一个并行计算API和一种针对此类计算的编程语言组成,此外还特别定义了:
1、C99编程语言并行扩展子集;
2、适用于各种类型异构处理器的坐标数据和基于任务并行计算API;
3、基于IEEE754标准的数字条件;
4、与OpenGL、OpenGLES和其他图形类API高效互通。
OpenCL是由苹果在六个月前首次提出的,随后KhronosGroup成立相关工作组,以苹果草案为基础,联合业界各大企业共同完成了标准制定工作。工作组的26个成员来自各行各业,且都是各自领域的领导者,具体包括3DLABS、ActivisionBlizzard、AMD、苹果、ARM、Barco、博通、Codeplay、EA、爱立信、飞思卡尔、HI、IBM、Intel、Imagination、KestrelInstitute、摩托罗拉、Movidia、诺基亚、NVIDIA、QNX、RapidMind、三星、Seaweed、TAKUMI、德州仪器、瑞典于默奥大学。
标准倡导者苹果将是最先应用OpenCL技术的厂商之一,代号SnowLeopard的新版操作系统MacOSX10.6就会集成该标准。相比之下,微软没有参与OpenCL的制定工作,Windows7自然也不会提供支持,不过DirectX11将会带来类似的ComputerShader技术,很可能会重演DirectX与OpenGL之战。
同时,AMDStreamSDK、CodeplaySieveC++等都正在准备进行改革,以便完全符合OpenCL1.0标准,NVIDIA的CUDA技术也有望借机大展拳脚。
评论