新版編譯器可支持GPU和圖形加速器指令式編程模型OpenACC標(biāo)準(zhǔn)1.0版 Portland Group宣布,可支持新的圖形處理其(GPU)和圖形加速器指令式編程模型OpenACC 1.0標(biāo)準(zhǔn)的PGI Accelerator Fortran和 C編譯器已經(jīng)上市。OpenACC®編程標(biāo)準(zhǔn)讓程序員在所寫程序中提供暗示或指示。 OpenACC標(biāo)準(zhǔn)由PGI、Cray和NVIDIA三家公司聯(lián)合創(chuàng)立,同時(shí)得到CAPS的支持,于2011年11月在 SC11 大會(huì)上首次發(fā)布, 與NVIDIA CUDA 并行編程架構(gòu)完全兼容,并可與其互操作。OpenACC 1.0技術(shù)規(guī)范是這三個(gè)創(chuàng)辦公司聯(lián)合開(kāi)發(fā)的,大部分內(nèi)容來(lái)自 PGI Accelerator編程模型。OpenACC應(yīng)用程序接口(API)描述了一系列把采用標(biāo)準(zhǔn)C、C++ 和Fortran 語(yǔ)言編寫的循環(huán)調(diào)度語(yǔ)句和代碼段從主CPU轉(zhuǎn)移到所連接的加速器的編譯器指令,讓開(kāi)發(fā)人員能夠跨操作系統(tǒng)、主CPU和加速器進(jìn)行代碼移植。采用指令編譯方法后,開(kāi)發(fā)人員只需一個(gè)多平臺(tái)多廠商兼容代碼庫(kù),為跨平臺(tái)和多代應(yīng)用開(kāi)發(fā)帶來(lái)諸多優(yōu)勢(shì)和便利。 在采用OpenACC標(biāo)準(zhǔn)后,并行程序員可把代碼從主CPU移到所連接的加速器上,通過(guò)指示(又稱指令識(shí)別)適合加速的代碼段。除向編譯器帶來(lái)并行計(jì)算機(jī)會(huì)外,指令還能用于說(shuō)明如何向一個(gè)特定的加速器高效復(fù)制循環(huán)語(yǔ)句和如何優(yōu)化數(shù)據(jù)移動(dòng)。指令編程模型為開(kāi)發(fā)人員提供更多開(kāi)發(fā)資源,讓編譯器執(zhí)行主CPU減負(fù)的精細(xì)過(guò)程,把計(jì)算任務(wù)轉(zhuǎn)移到加速器,讓開(kāi)發(fā)人員專心優(yōu)化算法和應(yīng)用功能。指令編程模型的主要好處是可大幅提升應(yīng)用軟件性能,而無(wú)需修改底層源代碼。 支持OpenACC的PGI Accelerator編譯器 PGI Accelerator編譯器于2008年首次發(fā)布,新版在以下幾個(gè)方面進(jìn)一步強(qiáng)化了OpenACC標(biāo)準(zhǔn),為用戶提供更強(qiáng)的功能和更優(yōu)的設(shè)計(jì)靈活性: • 自動(dòng)生成最佳的循環(huán)調(diào)度指令 • 自動(dòng)占用共享內(nèi)存空間 • 自動(dòng)執(zhí)行歸約求和運(yùn)算(automatic sum reductions) • 與CUDA Fortran和CUDA C/C++互操作 • 在有無(wú)加速器的條件下,PGI Unified Binary™技術(shù)可執(zhí)行文件均能正常工作 此外,PGI Accelerator編譯器包括PGI的全套的x86主機(jī)性能優(yōu)化技術(shù),其中包括自動(dòng) SIMD矢量化、自動(dòng)并行化、過(guò)程間分析、 內(nèi)聯(lián)函數(shù)等。 目前,PGI Accelerator Fortran和C99編譯器可支持在Linux、OS X和Windows系統(tǒng)下運(yùn)行的x64+NVIDIA系統(tǒng)。所有的采用英特爾和AMD x64處理器且內(nèi)置具有CUDA功能的NVIDIA GPU的計(jì)算機(jī)系統(tǒng)都支持PGI Accelerator Fortran和C99編譯器。PGI 2012編譯器12.6版以及以后的版本都將支持OpenACC功能。 已訂閱PGI服務(wù)的PGI Accelerator授權(quán)用戶可以免費(fèi)獲得新版編譯器,如欲下載免費(fèi)試用版,請(qǐng)登陸PGI網(wǎng)站:www.pgroup.com/support/trial.htm。如欲了解支持OpenACC標(biāo)準(zhǔn)的PGI Accelerator編譯器的產(chǎn)品詳情,請(qǐng)?jiān)L問(wèn) http://www.pgroup.com/accelerate。關(guān)于OpenACC API和標(biāo)準(zhǔn)的詳情,請(qǐng)?jiān)L問(wèn):www.openacc.org. |