CUDAOpenCL的差异和发展前景
作者:赵铠楠
来源:《科技经济市场》2015年第12
        要:CUDA是一种由NVIDIA推出的并行计算架构,非常适合大规模数据密集型计算。CUDA使GPU的超高计算性能在数据处理和并行计算等通用计算领域发挥优势,本文讨论了CUDA的计算架构和基于GPUCUDA C编程语言,CUDA使GPU流处理器阵列的性能得到充分发挥。极大地提高了并行计算程序的效率。
        关键词:OpenCLCUDA
        从很多方面来看,CUDAOpenCL的关系都和DirectXOpenGL的关系很相像。如同DirectXOpenGL一样,CUDAOpenCL中,前者是配备完整工具包、针对单一供应商(NVIDIA)的成熟的开发平台,后者是一个开放的标准。
        虽然两者抱着相同的目标:通用并行计算。但是CUDA仅仅能够在NVIDIAGPU硬件上运行,而OpenCL的目标是面向任何一种Massively Parallel Processor,期望能够对不同种类的硬件给出一个相同的编程模型。由于这一根本区别,二者在很多方面都存在不同:
        1 开发者友好程度。
        CUDA在这方面显然受更多开发者青睐。原因在于其统一的开发套件(CUDAToolkit NVIDIA GPU Computing SDK以及NSight等等)、非常丰富的库(cuFFTcuBLAS cuSPARSE cuRAND NPP Thrust)以及NVCCNVIDIA最有前途的编程语言的CUDA编译器)所具备的PTX(一种SSA中间表示,为不同的NVIDIA GPU设备提供一套统一的静态ISA)代码生成、离线编译等更成熟的编译器特性。相比之下,使用OpenCL进行开发,只有AMDOpenCL的驱动相对成熟。
        2 跨平台性和通用性。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。