NVIDIA公司今天宣布了新版GPU通用计算开发包CUDA 4.0,主要改进方向是简化并行编程,让更多开发人员能够将应用程序移植到GPU平台。
CUDA 4.0的三大主要特性包括:
- GPUDirect 2.0技术。GPUDirect 1.0主要用于高性能计算集群应用,方便不同节点之间的GPU相互联系,而GPUDirect 2.0则面向节点内应用,即多GPU并联系统。同一节点内的多块GPU可以不经过CPU、住内存,直接交换各自显存中的数据。
- 统一虚拟寻址(UVA)。简化通用计算编程中的寻址空间设计,开发者不需要再考虑CPU和各个GPU各自的内存空间,而是整合为一个统一的内存寻址空间,大大简化并行编程。
- Thrust C++模板高性能基元库。能够提供一系列开源C++并行算法和数据结构,这些内容能够让C++开发人员更轻松的使用CUDA编程。与使用标准模板库(STL)以及线程构件(TBB)时相比,Thrust中并行排序等算法的速度可提升5至100倍。
除此之外,CUDA 4.0的新特性还包括:
- MPI与CUDA应用程序相结合。当应用程序发出MPI收发调用指令时,例如OpenMPI等MPI软件可通过Infiniband接口自动收发显卡显存数据。
- GPU多线程共享。多个CPU主线程能够在一颗GPU上共享运行环境。
- 单CPU线程共享多GPU。一个CPU主线程可以访问系统内的所有GPU。
- 全新的NPP图像与计算机视觉库。
- 新增、改良的功能
Visual Profiler中的自动性能分析功能
Cuda-gdb中的新特性以及新增了对Mac OS的支持
新增了对C++特性的支持,这些特性包括新建/删除以及虚拟等功能
新版GPU二进制反汇编程序
CUDA 4.0在硬件上需要Fermi架构GPU才能够提供完整支持,操作系统方面则仍然支持Windows、Mac OS X、Linux等系统。3月4日起,CUDA注册开发者计划会员将可以免费下载CUDA Tool Kit 4.0 RC发布候选版。