Portland Group发布CUDA C/C++多核x86编译器
日期:2011-12-22CUDA是英伟达(NVIDIA)开发的通过NVIDIAGPU(图形处理器)的强大处理性能大幅提升运算性能的并行计算架构。CUDA-x86编程模型最初发布于2010年NVIDIAGPU技术研讨会上,旨在将CUDA编程模型从图形处理器延伸到系统级。CUDA-x86的发布是x86+GPU架构成为集成BA4404F-T1.html" target="_blank" title="BA4404F-T1">BA4404F-T1并行平台的重要一步。
PortlandGroup总监DouglasMiles表示:“CUDA-x86是PGI全力支持的CPU+GPU异构系统编程蓝图中重要的里程碑。集成PGIAccelerator编译器的基于指令的GPU编程模型让GPU编程入门变得极其容易。编程人员通过CUDA扩展架构能够编写明确的扩展性很强的并行算法,然后针对特定平台自由扩展并深度优化算法。随着基于加速器的系统普及率不断提高,我们预计这两种方法将变得至关重要。”
英伟达CUDA市场部总监SanfordRussell表示:“CUDA是目前全球使用最广泛的GPU并行编程模型,软件开发人员需要同一代码可在多个架构上运行的灵活性。CUDA是在异构计算环境中运行的高性能并行应用软件的通用编程模型,CUDA-x86的上市为用户带来了CUDA的优势。”
PGI的CUDA-x86编译器将CUDAC/C++视为AMD和英特尔的通用多核x86微处理器本机并行编程语言。CUDA-x86完全支持英伟达CUDAC/C++图形处理器编程语言,因此,编程人员只需重新编译CUDA应用程序源代码,即可在x86主处理器运行CUDA程序。
通过使用CUDA-x86编程模型,开发人员能够编译并优化CUDA应用程序,使其能够运行在基于x86微处理器的工作站、服务器和服务器集群上,无论计算机是否配备NVIDIAGPU加速器。在转译为在x86处理器上运行后,CUDAC/C++应用程序使用英特尔和AMD的多核微处理器和SIMD(单指令多数据流)指令集执行并行运算。
PGICUDAC/C++多核x86编译器的主要功能:
·在x86主处理器上对本机CUDAC/C++语言进行优化和并行化处理。
·在x86主处理器上低开销本机并行执行CUDAC/C++语言。
·使用主处理器内核执行每个CUDA线程模块;尽可能自动消除同步。
·支持AMD和英特尔的最新处理器,支持新的AVX指令。
·自动内联内核中所有设备函数,并将Chevron语法转译成并行/矢量循环。
·在x86主处理器上完全支持英伟达的CUDAC/C++图形处理器编程语言。
·完全支持GPU纹理存储器。
·支持NVIDIACUBLAS软件库。
·支持PGI所有的英特尔和AMD主处理器优化功能。
此外,PGICUDAC/C++GPU编译器预计在2012年中期上市,届时,通过使用PGIUnifiedBinary™技术,在配备GPU时,二进制的可执行程序将能够使用NVIDIAGPU,如无GPU配备,二进制的可执行程序将默认使用多核x86处理器。