作为高性能计算领域最闪耀的新星,异构计算以其强大的浮点性能以及极高的性价比迅速在超算500强榜单中席卷了很多席位。但作为一件新兴事物,利用GPU进行异构计算也面临着很多问题,而其中最重要的一个便是相关算法和程序的开发。而作为异构计算的推进者,NVIDIA今天宣布推出全新的GPGPU(通用GPU)编程环境:CUDA 5正式版。
NVIDIA宣称,CUDA已经获得了累计150多万次下载,支持180多个工程、科学与商业应用,是开发人员挖掘GPU加速计算的最普及方式。
CUDA 5可以让开发人员充分发挥NVIDIA GPU的加速性能,包括对最新“开普勒”家族的完整支持。
动态并行(Dynamic Parallelism):
作为一种新的GPU加速算法,动态并行可以允许GPU线程动态地衍生新线程,从而更好地适应数据流。通过最大程度地简化与GPU的往来通信,动态并行技术可以大大简化并行编程,让更多流行算法支持GPU加速,比如自适应网格加密、计算流体动力学等等。
GPU-Callable库:
新的CUDA BLAS库可以让开发人员为他们自己的PU-Callable库使用动态并行,比如设计插件API、让其他人扩展其内核的功能性,部署GPU Callback、自定义第三方GPU-Callable库的功能性。对象链接(object linking)可将多个CUDA源文件编译成不同的对象文件,然后链接到更大的应用和库中,从而更简单、更高效地开发大型GPU应用。
GPUDirect支持远程直接内存访问(RDMA):
GPUDirect技术建立了GPU与其它PCI-E设备的直接通信,并支持网卡与GPU之间的RDMA,还能大幅降低集群中GPU节点间的MPISendRecv延迟、改进整体应用性能。
NVIDIA Nsight Eclipse Edition:
Linux、Mac OS X平台上,NVIDIA Nsight Eclipse Edition可以让开发人员在熟悉的Eclipse IDE环境内开发、调试和编译GPU应用,并自带CUDA编辑器和CUDA示例,可以更快地生成CUDA代码,还整合了专家级的分析系统,提供自动性能分析,以及修复代码中性能瓶颈的向导,还有语法高亮区分GPU代码和CPU代码。
CUDA 5操作系统支持包括:Windows XP台式机、Windows Vista/7/8台式机和笔记本、Ubuntu 11.04/11.10、Fedora 16、Red Hat Enterprise Linux 5.x/6.x(后者仅限64位)、OpenSUSE 12.1(64位)、SUSE Server 11 SP1/SP2、Mac OS X。
作为最新的GPU编程环境,CUDA 5完整集成了新的开普勒GPU所包含的众多特性,并重点提升了集群应用中GPU的效率以及相关程序编写的方便性。众所周知,相对于传统系统架构来说,要想让GPU参与到整个计算中来必须要对原有的程序架构做出巨大的改变和优化,而有时这个过程将相当的复杂和漫长。而利用新的环境,软件开发人员将能够更快的开发新应用,让异构计算所带来的软件成本变得更低。