- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通用计算时代来临 论CUDA与OpenCL的异同
挖掘GPU通用运算潜能,OpenCL和CUDA
NVIDIA CUDA技术的到来,使GPU通用运算的应用领域得到了全面扩充,利用GPU强大的并行运算能力,使更加适合GPU进行运算的程序执行效率大幅提升。虽然早就有人提出了让并行计算架构的GPU,去处理非常适合他们的大规模并行计算工作,但是在CUDA问世前,所谓的GPGPU概念并没有真正的为我们解决问题,而早期专为图形运算而设计的GPU并不能通过一种通用性强的手段完成在GPU上的编程任务,专业性强的图形计算语言仅仅掌握在少数的专业图形开发者的手中。
NVIDIA CUDA技术的最大突破就是可以让用户通过简单、易用、使用率广泛的编程语言对GPU进行控制,从而为人们提供高效率的运算工作。而最近一个为“OpenCL”的名词越来越多的出现在我们的视线中。
OpenCL是一种通用运算API,同样是种异构计算机的一种开放式开发语言,它也可以控制GPU去进行通用运算,并且还得到了IT业内广泛的关注和认同。CUDA和OpenGL都是创造计算机异构架构的方式,那么它们之间到底有何不同?OpenGL会不会取代CUDA?在进GPU通用运算时,我们应该使用CUDA还是OpenCL?……以上的问题越来越多的被关注GPU通用算的人提出,而对这两项技术了解不多的朋友更是被搞得一头雾水。
今天我们就为大家带来一次CUDA和OpenCL的详细解析,从未为您揭开CUDA与OpenCL之间的关系之谜。
并行计算的利器 OpenCL问世
OpenCL 1.0规范在2008年12月浮出水面,12月9日在新加坡召开的2008亚洲SIGGRAPH大会上NVIDIA公司正式宣布完全支持Khronos Group新近发布的OpenCL 1.0技术规范。我们已经知道了OpenCL(开放式计算语言)是一种全新计算应用程序接口(API),它让开发人员能够利用GPU内部巨大的并行计算动力,那么Khronos Group又是什么呢?
KHRONOS Group制定了OpenCL标准,KHRONOSGroup这个工作小组中包括了很多厂商,如:Intel、AMD、IBM、SONY、NOKIA……,NVIDIA也是KHRONOS Group的一员,并且参与了OpenCL内容的制定。由多个厂商成员组成的KHRONOS Group,提供了多种开放API标准的制定。
KHRONOS Group中不仅包括了传统的PC硬件厂商,还包括了很多移动设备领域的厂商,因此,我们不应该将这个组织以及他们制定的标准局限在PC平台,也说明了在很多非PC领域上对开放API标准的需求同样重要。对GPU并行计算能力的需求越来越多,以前的OpenGL API并不能满足当前的需要,而OpenCL正是用来满足这些需求的,也从另一个侧面反映了NVIDIA一直强调的视觉计算发展方向。
什么是OpenCL?
OpenCL是一种全新计算应用程序接口(API),它的全称是Open Compute Library(开放式计算语言),它让开发人员能够利用GPU内部巨大的并行计算动力。OpenCL的作用就是为通用计算领域提供一个跨平台的统一标准语言。
OpenCL最早是由Apple公司提出,而KHRONOS Group通过协调各个厂商,从而使OpenCL的跨平台特性更加完善。简单的说,OpenCL是针对并行计算的API,它可以利用GPU进行并行计算方面的工作,OpenCL API是应用程序的编程接口,图形程序也有很多API,比如OpenGL和DirectX……
OpenCL开发人员可以利用GPU和CPU的计算能力,把CPU和GPU的异构系统运用在很多并行计算领域里面。
OpenCL工作小组
由KHRONOS所制定的开放标准
OpenCL是KHRONOS制定的多项开放标准中的并行计算和可视化的标准API
并行运算架构——CUDA
NVIDIA CUDA技术,也是为释放GPU并行计算能力而设计的,NVIDIA CUDA能够通过通用性防范的高级编程语言让GPU进行非常适合的并行计算。
CUDA最初同NVIDIA GeForce 8800 GPU一道推出,现在NVIDIA所有GPU均已支持CUDA。CUDA是NVIDIA并行计算战略的基础。与使用CPU相比,科学家们见证了CUDA为其应用程序所带来的最高20到200倍的速度提升,CUDA已经被全球研究界人士所广泛采用。从超级计算机与工作站到消费类PC,CUDA架构已被构建到各种各样的计算系统中。现在,目前有25,000多名开发人员利用CUDA架构从事活跃的开发工作。
由于C语言具备易学、使用者多等等普遍性,因此NVIDIA将C语言
文档评论(0)