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