新闻中心

EEPW首页 > 嵌入式系统 > 新品快递 > Portland Group发布CUDA C/C++多核x86编译器

Portland Group发布CUDA C/C++多核x86编译器

作者:时间:2011-12-21来源:电子产品世界

  意法半导体全资子公司、全球领先的高性能计算(HPC)供应商Portland Group宣布,性能优化的支持多核x86平台的PGI CUDA C/C++()将于2012年1月与PGI 2012版共同上市发售。

本文引用地址:http://www.eepw.com.cn/article/127254.htm

  CUDA是英伟达(NVIDIA)开发的通过NVIDIA GPU(图形处理器)的强大处理性能大幅提升运算性能的并行计算架构。编程模型最初发布于2010年NVIDIA GPU技术研讨会上,旨在将CUDA编程模型从图形处理器延伸到系统级。的发布是x86+GPU架构成为集成并行平台的重要一步。

  Portland Group总监Douglas Miles表示:“CUDA-x86 是PGI全力支持的CPU+GPU异构系统编程蓝图中重要的里程碑。集成 PGI Accelerator的基于指令的GPU编程模型让GPU编程入门变得极其容易。编程人员通过CUDA扩展架构能够编写明确的扩展性很强的并行算法,然后针对特定平台自由扩展并深度优化算法。随着基于加速器的系统普及率不断提高,我们预计这两种方法将变得至关重要。”

  英伟达CUDA市场部总监Sanford Russell表示:“CUDA是目前全球使用最广泛的GPU并行编程模型,软件开发人员需要同一代码可在多个架构上运行的灵活性。CUDA是在异构计算环境中运行的高性能并行应用软件的通用编程模型,CUDA-x86的上市为用户带来了CUDA的优势。”

  PGI 的CUDA-x86编译器将CUDA C/C++视为AMD 和英特尔的通用多核x86微处理器本机并行编程语言。CUDA-x86完全支持英伟达CUDA C/C++图形处理器编程语言,因此,编程人员只需重新编译CUDA应用程序源代码,即可在x86 主处理器运行CUDA程序。

  通过使用CUDA-x86编程模型,开发人员能够编译并优化CUDA应用程序,使其能够运行在基于x86微处理器的工作站、服务器和服务器集群上,无论计算机是否配备NVIDIA GPU加速器。在转译为在 x86处理器上运行后,CUDA C/C++应用程序使用英特尔和AMD的多核微处理器和SIMD (单指令多数据流)指令集执行并行运算。

  PGI CUDA C/C++多核x86编译器的主要功能:

  · 在x86主处理器上对本机 CUDA C/C++语言进行优化和并行化处理。

  · 在x86主处理器上低开销本机并行执行CUDA C/C++语言。

  · 使用主处理器内核执行每个CUDA线程模块;尽可能自动消除同步。

  · 支持AMD和英特尔的最新处理器,支持新的AVX指令。

  · 自动内联内核中所有设备函数,并将Chevron语法转译成并行/矢量循环。

  · 在x86主处理器上完全支持英伟达的CUDA C/C++图形处理器编程语言。

  · 完全支持GPU纹理存储器。

  · 支持NVIDIA CUBLAS软件库。

  · 支持PGI所有的英特尔和AMD主处理器优化功能。

  此外,PGI CUDA C/C++ GPU编译器预计在2012年中期上市,届时,通过使用PGI Unified Binary™ 技术,在配备GPU时,二进制的可执行程序将能够使用NVIDIA GPU,如无GPU配备,二进制的可执行程序将默认使用多核x86处理器。

  性能数据

  在一次主流并行编程模型性能对比测试中,PGI使用CUDA-x86版和OpenMP版LBM基准测试工具(属于Parboil基准测试软件)对CUDA和OpenMP程序的执行时间进行了对比分析。下表列出了两个不同编程模型的程序执行时间:



关键词: ST 编译器 CUDA-x86

评论

技术专区

关闭