助力GPU高性能计算 OpenCL标准发布

助力GPU高性能计算 OpenCL标准发布

作者:无名 2009-04-22 18:26:55

服务器

服务器产品

云计算 OpenCL是首个开放的免费通用并行计算标准,将统一管理一台主机的所有计算资源,比如你的多核CPU、GPU等,OpenCL将这些资源统一看作计算单元,共同发挥运算能力完成各类计算任务。

OpenCL是***开放的免费通用并行计算标准,将统一管理一台主机的所有计算资源,比如你的多核CPU、GPU等,OpenCL将这些资源统一看作计算单元,共同发挥运算能力完成各类计算任务。OpenCL统一编程环境,开发者能轻松利用异构平台写出高效的程序来。OpenCL将在服务器、PC和手持设置等上得到广泛应用。

 OpenCL开发历程

OpenCL最早由Apple在六月提交到了Khronos Group,这是一个业界的标准化组织,旨在提供一个通用的开放API,在此基础上开发GPU通用计算软件,随后Khronos成立“OpenCL工作组”负责标准的制订工作,在短短的几个月时间内,OpenCL就完成了从无到有的蜕变。

 

OpenCL工作组成员

OpenCL工作组的成员包括:3Dlabs、AMD、苹果、ARM、Codeplay、爱立信、飞思卡尔、Graphic Remedy、IBM、Imagination Technologies、Intel、诺基亚、NVIDIA、摩托罗拉、QNX、高通、三星、Seaweed、德州仪器和瑞典Ume大学等。像Intel、NVIDIA和AMD都是这个标准的支持者,不过微软并不在其列。

作为倡导者苹果已经宣布其明年发布的Mac OS X 10.6 Snow Leopard操作系统将集成OpenCL标准,实际上这也是促成OpenCL标准发布的重要条件之一。

NVIDIA和AMD宣布采用OpenCL 1.0标准

作为图形芯片的两大巨头,NVIDIA拥有自己的CUDA架构,AMD有自己的Stream Acceleration,同时他们又是OpenCL的支持者。在OpenCL标准发布之后,AMD和NVIDIA立即表态,宣布即将采用OpenCL 1.0编程规范。

AMD会将合适的编译器和运行库整合进免费的ATI Stream软件开发包(SDK),作为OpenCL的创始人之一,AMD一直以来都极力推崇OpenCL,并尽力赶在2009年上半年开发出ATI Stream SDK的开发者版本,实现对OpenCL 1.0的支持。而NVIDIA则会把它加入GPU计算工具包,因此,这两家的显卡都将支持OpenCL 1.0。从长远来看,这两家厂商共享同一个开放型的规格对于消费者来说是件好事。

OpenCL不会取代CUDA

CUDA作为NVIDIA最近力推的并行计算架构,目前已取得非常不错的成就。显然大多数的读者都有一个疑问,开放式的OpenCL标准的出台,CUDA将何去何从?

作为OpenCL标准的制定者之一,NVIDIA肯定不会蠢到作自掘坟墓的事。实际上现在OpenCL工作组的主席就是NVIDIA的一位副总裁任职,引导很多OpenCL的开发,NVIDIA公司不少员工都在参与这项工作,当然还有很多其他公司的开发人员。从OpenCL一开始NVIDIA就和Apple公司进行非常紧密的合作,OpenCL开发的过程中,它的技术平台都是NVIDIA的GPU,换而言之OpenCL是在NVIDIA GPU的平台进行开发的。OpenCL在大概两个多月以前进行的***次演示平台也是NVIDIA的GPU,可以说NVIDIA是***家展示运行中OpenCL程序的公司。从这个角度看,NVIDIA和OpenCL之间在关系十分密切。

CUDA架构,支持C、OpenCL等

对于CUDA而言,最主要的包含两个方面:一个是ISA指令集架构,另一个是硬件计算引擎,这两个方面是CUDA的架构。CUDA到目前为止,它包含了一个C语言的编译器,不仅如此,还可以支持其他的API,包括OpenCL或者DirectX,以后还将有其他语言的接口,包括Fortran、Java、Python等。可以说这种架构是原生的,专门为计算接口而建造的一个架构。

有了CUDA指令集,有了支持CUDA的硬件,就可以利用不同的途径来进行开发调用GPU的计算能力,你可以用OpenCL或者DirectX这样的API来进行开发,也可以用C语言或者Fortran或者Java开发,最终的结果是殊途同归。

 

针对CUDA的OpenCL和C的编程模式

当然API和C语言进行开发是有些不同的,API作为编程接口,它的核心是函数库和应用程序开发的一个硬件接口,它有一个好处就是可以访问比较低层次的硬件,对于硬件有比较好的控制权,很多的东西特别是像内存的管理,是需要开发者自己来进行管理的。而在利用CUDA C语言来编程的时候,很多东西是由开发环境来进行管理的,比如内存他是用runtime进行管理的,相对来说要容易得多。两者的关系有点像低级语言和高级语言间的关系。

不管是用OpenCL还是用CUDA C语言来编程,最终它们都是需要通过一个驱动程序来变成一个PTX的代码,PTX相当于CUDA指令集,然后交给图形处理其或者交给硬件来进行执行。

OpenCL对开发者、业界人员和消费者来说都是一个非常好的API,它可以使得开发者很容易的开发出跨平台的GPU计算程序,充分利用GPU强大的计算能力然后应用在各种领域。对于NVIDIA来说,在CUDA架构上除了C语言以外,现在新增加了OpenCL或者DX11这样的API,提供了更多的GPU计算开发环境选择。如果开发者对API很熟悉的话,肯定会乐意看到OpenCL或者新的API的加入,对于他们来说很容易利用这些API开发出各种各样GPU计算程序。

简单的说,OpenCL只是一个API,一个编程接口,它是对CUDA架构的有益补充,实际上OpenCL是利用CUDA驱动程序堆栈来在NVIDIA GPU上实现高性能计算,OpenCL标准的出台,CUDA更是如虎添翼。

【编辑推荐】

  1. 青莲AOS演绎多核风暴
  2. 曙光天阔I650-H 征战多核服务器市场
  3. 启明星辰突破性能瓶颈 推出万兆多核UTM平台

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/279774.html<

(0)
运维的头像运维
上一篇2025-05-12 05:24
下一篇 2025-05-12 05:25

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注