欢迎来到天天文库
浏览记录
ID:1044977
大小:459.50 KB
页数:8页
时间:2017-11-07
《cuda与opencl异同》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、通用计算时代来临论CUDA与OpenCL的异同 挖掘GPU通用运算潜能,OpenCL和CUDA NVIDIACUDA技术的到来,使GPU通用运算的应用领域得到了全面扩充,利用GPU强大的并行运算能力,使更加适合GPU进行运算的程序执行效率大幅提升。虽然早就有人提出了让并行计算架构的GPU,去处理非常适合他们的大规模并行计算工作,但是在CUDA问世前,所谓的GPGPU概念并没有真正的为我们解决问题,而早期专为图形运算而设计的GPU并不能通过一种通用性强的手段完成在GPU上的编程任务,专业性强的图形计算语言
2、仅仅掌握在少数的专业图形开发者的手中。 NVIDIACUDA技术的最大突破就是可以让用户通过简单、易用、使用率广泛的编程语言对GPU进行控制,从而为人们提供高效率的运算工作。而最近一个为“OpenCL”的名词越来越多的出现在我们的视线中。 OpenCL是一种通用运算API,同样是种异构计算机的一种开放式开发语言,它也可以控制GPU去进行通用运算,并且还得到了IT业内广泛的关注和认同。CUDA和OpenCL都是创造计算机异构架构的方式,那么它们之间到底有何不同?OpenCL会不会取代CUDA?在进GPU通
3、用运算时,我们应该使用CUDA还是OpenCL?……以上的问题越来越多的被关注GPU通用算的人提出,而对这两项技术了解不多的朋友更是被搞得一头雾水。 今天我们就为大家带来一次CUDA和OpenCL的详细解析,从未为您揭开CUDA与OpenCL之间的关系之谜。 并行计算的利器OpenCL问世 OpenCL1.0规范在2008年12月浮出水面,12月9日在新加坡召开的2008亚洲SIGGRAPH大会上NVIDIA公司正式宣布完全支持KhronosGroup新近发布的OpenCL1.0技术规范。我们已经知道
4、了OpenCL(开放式计算语言)是一种全新计算应用程序接口(API),它让开发人员能够利用GPU内部巨大的并行计算动力,那么KhronosGroup又是什么呢? KHRONOSGroup制定了OpenCL标准,KHRONOSGroup这个工作小组中包括了很多厂商,如:Intel、AMD、IBM、SONY、NOKIA……,NVIDIA也是KHRONOSGroup的一员,并且参与了OpenCL内容的制定。由多个厂商成员组成的KHRONOSGroup,提供了多种开放API标准的制定。 KHRONOSGroup
5、中不仅包括了传统的PC硬件厂商,还包括了很多移动设备领域的厂商,因此,我们不应该将这个组织以及他们制定的标准局限在PC平台,也说明了在很多非PC领域上对开放API标准的需求同样重要。对GPU并行计算能力的需求越来越多,以前的OpenGLAPI并不能满足当前的需要,而OpenCL正是用来满足这些需求的,也从另一个侧面反映了NVIDIA一直强调的视觉计算发展方向。 什么是OpenCL? OpenCL是一种全新计算应用程序接口(API),它的全称是OpenComputeLibrary(开放式计算语言),它让开
6、发人员能够利用GPU内部巨大的并行计算动力。OpenCL的作用就是为通用计算领域提供一个跨平台的统一标准语言。 OpenCL最早是由Apple公司提出,而KHRONOSGroup通过协调各个厂商,从而使OpenCL的跨平台特性更加完善。简单的说,OpenCL是针对并行计算的API,它可以利用GPU进行并行计算方面的工作,OpenCLAPI是应用程序的编程接口,图形程序也有很多API,比如OpenGL和DirectX…… OpenCL开发人员可以利用GPU和CPU的计算能力,把CPU和GPU的异构系统运用
7、在很多并行计算领域里面。OpenCL工作小组由KHRONOS所制定的开放标准 OpenCL是KHRONOS制定的多项开放标准中的并行计算和可视化的标准API 并行运算架构——CUDA NVIDIACUDA技术,也是为释放GPU并行计算能力而设计的,NVIDIACUDA能够通过通用性防范的高级编程语言让GPU进行非常适合的并行计算。 CUDA最初同NVIDIAGeForce8800GPU一道推出,现在NVIDIA所有GPU均已支持CUDA。CUDA是NVIDIA并行计算战略的基础。与使用CPU相比,科
8、学家们见证了CUDA为其应用程序所带来的最高20到200倍的速度提升,CUDA已经被全球研究界人士所广泛采用。从超级计算机与工作站到消费类PC,CUDA架构已被构建到各种各样的计算系统中。现在,目前有25,000多名开发人员利用CUDA架构从事活跃的开发工作。 由于C语言具备易学、使用者多等等普遍性,因此NVIDIA将C语言作为了CUDA架构的编程语言,CUDAC语言让很多对GPU架构、特性并不了解的人,同样可
此文档下载收益归作者所有