服务器 频道

观察:GPU软件开发需要突破三大障碍

  三、生态系统尚待完善

  针对GPU的软件开发,目前可选的工具主要有CUDA C、OpenCL、Intel Ct、微软DirectCompute等。相对而言,CUDA是其中发展最为成熟的,CUDA C、OpenCL、DirectCompute都能融合在CUDA的架构上,但整体的开发环境还有待完善,至少与CPU相比,Debug、Profiling、TuningBUG等工具还要差一些。另外,现在能够进行GPU编程与开发的人才很缺,大多仅集中在科研院所、高校及极少数企业中。

  谢强在会上专门做了《GPU高效能计算及生态系统》的演讲,他谈到,Nvidia一直在打造围绕GPU并行计算的开发人员生态系统,包括多种数学库、调优工具、GPU编译器、并行化编译工具、各种工具包、CUDA咨询与培训以及众多的GPU计算解决方案。这个生态系统正在不断扩大,CUDA的魅力正是在于提供了更完整的系列工具。比如,在大家普遍关心的编程工具方面,CUDA已经可以支持C/C++、Fortrain、OpenCL、Java、Python、DirectCompute等。在数学库方面,除MATLAB、Mathematica之外,更多的厂家已经开始把核心数学库移植到CUDA上来,开发程序员面对的是一个完善的开发环境和工具包,可以做各种应用的开发与调优。

 三、生态系统尚待完善

  从应用软件来看,来自石油天然气、生命科学、视频渲染、金融分析、CAE、EDA等领域的专业公司正在用CUDA开发程序或进行移植。“生命科学是目前CUDA应用最完善的领域。”此外,Nvidia也在计划在全球推出CUDA认证,目前全球已经有350所学校开通了CUDA课程,在国内,北大、清华、中科院将提供CUDA培训与认证服务。

  总之,一个完整的GPU通用计算(GPGPU)环境既包括硬件设备,也包括程序开发和运行环境如编译器、调试器、运行时库等,以及其它各种性能调优与任务管理工具。跟普通的多核CPU相比,集成数百内核的GPU在并行计算方面的硬件优势已经得到普遍认可——成本低、功耗低、体积小、性能高,但仅有硬件是远远不夠的,软件应用更加关键。

  更多关于CUDA编程方面的内容,欢迎访问IT168上的CUDA专区:http://cuda.it168.com/

0
相关文章