Portland Group發(fā)布CUDA C/C++多核x86編譯器
意法半導體全資子公司、全球領先的高性能計算(HPC)編譯器供應商Portland Group宣布,性能優(yōu)化的支持多核x86平臺的PGI CUDA C/C++編譯器(CUDA-x86)將于2012年1月與PGI 2012版共同上市發(fā)售。
本文引用地址:http://m.butianyuan.cn/article/127254.htmCUDA是英偉達(NVIDIA)開發(fā)的通過NVIDIA GPU(圖形處理器)的強大處理性能大幅提升運算性能的并行計算架構。CUDA-x86編程模型最初發(fā)布于2010年NVIDIA GPU技術研討會上,旨在將CUDA編程模型從圖形處理器延伸到系統(tǒng)級。CUDA-x86的發(fā)布是x86+GPU架構成為集成并行平臺的重要一步。
Portland Group總監(jiān)Douglas Miles表示:“CUDA-x86 是PGI全力支持的CPU+GPU異構系統(tǒng)編程藍圖中重要的里程碑。集成 PGI Accelerator編譯器的基于指令的GPU編程模型讓GPU編程入門變得極其容易。編程人員通過CUDA擴展架構能夠編寫明確的擴展性很強的并行算法,然后針對特定平臺自由擴展并深度優(yōu)化算法。隨著基于加速器的系統(tǒng)普及率不斷提高,我們預計這兩種方法將變得至關重要。”
英偉達CUDA市場部總監(jiān)Sanford Russell表示:“CUDA是目前全球使用最廣泛的GPU并行編程模型,軟件開發(fā)人員需要同一代碼可在多個架構上運行的靈活性。CUDA是在異構計算環(huán)境中運行的高性能并行應用軟件的通用編程模型,CUDA-x86的上市為用戶帶來了CUDA的優(yōu)勢。”
PGI 的CUDA-x86編譯器將CUDA C/C++視為AMD 和英特爾的通用多核x86微處理器本機并行編程語言。CUDA-x86完全支持英偉達CUDA C/C++圖形處理器編程語言,因此,編程人員只需重新編譯CUDA應用程序源代碼,即可在x86 主處理器運行CUDA程序。
通過使用CUDA-x86編程模型,開發(fā)人員能夠編譯并優(yōu)化CUDA應用程序,使其能夠運行在基于x86微處理器的工作站、服務器和服務器集群上,無論計算機是否配備NVIDIA GPU加速器。在轉譯為在 x86處理器上運行后,CUDA C/C++應用程序使用英特爾和AMD的多核微處理器和SIMD (單指令多數(shù)據(jù)流)指令集執(zhí)行并行運算。
PGI CUDA C/C++多核x86編譯器的主要功能:
· 在x86主處理器上對本機 CUDA C/C++語言進行優(yōu)化和并行化處理。
· 在x86主處理器上低開銷本機并行執(zhí)行CUDA C/C++語言。
· 使用主處理器內核執(zhí)行每個CUDA線程模塊;盡可能自動消除同步。
· 支持AMD和英特爾的最新處理器,支持新的AVX指令。
· 自動內聯(lián)內核中所有設備函數(shù),并將Chevron語法轉譯成并行/矢量循環(huán)。
· 在x86主處理器上完全支持英偉達的CUDA C/C++圖形處理器編程語言。
· 完全支持GPU紋理存儲器。
· 支持NVIDIA CUBLAS軟件庫。
· 支持PGI所有的英特爾和AMD主處理器優(yōu)化功能。
此外,PGI CUDA C/C++ GPU編譯器預計在2012年中期上市,屆時,通過使用PGI Unified Binary™ 技術,在配備GPU時,二進制的可執(zhí)行程序將能夠使用NVIDIA GPU,如無GPU配備,二進制的可執(zhí)行程序將默認使用多核x86處理器。
性能數(shù)據(jù)
在一次主流并行編程模型性能對比測試中,PGI使用CUDA-x86版和OpenMP版LBM基準測試工具(屬于Parboil基準測試軟件)對CUDA和OpenMP程序的執(zhí)行時間進行了對比分析。下表列出了兩個不同編程模型的程序執(zhí)行時間:
評論