PGI 2012支持OpenACC GPU指令和針對(duì)多核x86優(yōu)化的原生CUDA C/C++
摘要: 意法半導(dǎo)體全資子公司Portland Group®發(fā)布支持 Linux、OS X和Windows三大操作系統(tǒng)的2012版PGI®高性能并行編譯器及開發(fā)工具系列產(chǎn)品正式上市。PGI 2012是首個(gè)支持OpenACC指令式編程模型的通用版編譯器,可用于具有NVIDIA CUDA功能的圖形處理器(GPU)編程。PGI 2012還是市場(chǎng)上首個(gè)整合PGI CUDA C/C++ 編譯器全部功能的編譯器,可用于英特爾(Intel)和超微(AMD)的多核x64 CPU編程。此外,PGI 2012版開發(fā)工具還針對(duì)多核x64處理器的高性能計(jì)算機(jī)系統(tǒng)進(jìn)行了多項(xiàng)性能和功能升級(jí)。
關(guān)鍵字: Linux, OSX, Windows, PGI
意法半導(dǎo)體全資子公司Portland Group®發(fā)布支持 Linux、OS X和Windows三大操作系統(tǒng)的2012版PGI®高性能并行編譯器及開發(fā)工具系列產(chǎn)品正式上市。PGI 2012是首個(gè)支持OpenACC指令式編程模型的通用版編譯器,可用于具有NVIDIA CUDA功能的圖形處理器(GPU)編程。PGI 2012還是市場(chǎng)上首個(gè)整合PGI CUDA C/C++ 編譯器全部功能的編譯器,可用于英特爾(Intel)和超微(AMD)的多核x64 CPU編程。此外,PGI 2012版開發(fā)工具還針對(duì)多核x64處理器的高性能計(jì)算機(jī)系統(tǒng)進(jìn)行了多項(xiàng)性能和功能升級(jí)。 Portland Group總監(jiān)Douglas Miles表示:“現(xiàn)在,隨著NVIDIA的CUDA得到各大廠商的廣泛認(rèn)可,GPU加速器逐漸成為高性能計(jì)算系統(tǒng)的一項(xiàng)主流配置。PGI 2012版的發(fā)行表明,PGI持續(xù)強(qiáng)化和改進(jìn)GPU編程工具的性能,讓開發(fā)人員能夠提高開發(fā)效率,跨平臺(tái)移植應(yīng)用代碼,深入挖掘圖形處理器的巨大潛能?!? PGI Accelerator Fortran和C版編譯器于2008年首次發(fā)布,是一個(gè)指令式先進(jìn)圖形處理器編程方法。PGI Accelerator編程模型主要針對(duì)科學(xué)家和工程師等非職業(yè)編程人員而開發(fā),讓科學(xué)家和工程師從枯燥的GPU編程工作中碰撞出不同的火花,讓他們能夠集中精力優(yōu)化演算法。與低級(jí)圖形處理器編程模型相比,PGI解決方案有很多優(yōu)勢(shì),包括提升工作效率(多數(shù)工程人員在幾分鐘內(nèi)即可見到成效)和通過保留圖形處理器與CPU之間的兼容性提高源代碼移植性。PGI 2012全面支持PGI Accelerator 1.3規(guī)范,包括非同步數(shù)據(jù)傳輸和內(nèi)核啟動(dòng)指令和增強(qiáng)的數(shù)據(jù)管理功能。 下面是PGI Accelerator用戶的使用體驗(yàn)報(bào)告。休斯頓大學(xué)教授(University of Huston)M. Amin Kayali表示:“為研究二維和三維磁系統(tǒng)的特性,我通過Fortran 90語言編寫了幾個(gè)微磁代碼。指令式方法讓我能夠輕松地移植現(xiàn)有代碼,在圖形處理器上完成運(yùn)算任務(wù),結(jié)果,運(yùn)算速度大幅提升(提高20倍)?!焙商m格羅寧根大學(xué)天文學(xué)院(University of Groningen and ASTRON)Panos Labropoulos表示:“我的主要研究方向是使用無線電陣列(radio arrays)數(shù)據(jù)校準(zhǔn)和成像,特別是LOFAR(www.lofar.org)。無線電陣列由數(shù)以萬計(jì)的較簡單的能夠收集低頻天體信號(hào)的偶極天線器件組成。通過指令和圖形處理器,我們?cè)?天內(nèi)把代碼執(zhí)行速度提高近6倍。提高運(yùn)算速度對(duì)于我們意義重大,因?yàn)樵谔岣哌\(yùn)算速度后,我們可以在較短的時(shí)間內(nèi)處理大量的數(shù)據(jù)(使用多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都配備兩個(gè)圖形處理器),為我們節(jié)省多年的計(jì)算工作?!? 除PGI Accelerator編程模型改進(jìn)之外,PGI 2012還新增對(duì)OpenACC應(yīng)用程序接口(API)的支持功能。OpenACC API是2011年11月由NVIDIA、Cray、CAPs和PGI聯(lián)合發(fā)起的一個(gè)行業(yè)標(biāo)準(zhǔn)化行動(dòng),旨在于制定一個(gè)基于編譯器指令的加速度器編程標(biāo)準(zhǔn)。OpenACC API采用了大部分PGI Accelerator編程模型,是一個(gè)與硬件無關(guān)的加速器、協(xié)助處理器和能夠減輕主CPU負(fù)荷的相關(guān)引擎的編程方法。目前,PGI已開始對(duì)其首版支持一個(gè)OpenACC 1.0子集標(biāo)準(zhǔn)的Fortran和C編譯器進(jìn)行封閉式評(píng)估。 將在3月進(jìn)行一次公開評(píng)估。PGI預(yù)計(jì)在2012年中期前發(fā)布兼容全部OpenACC 1.0標(biāo)準(zhǔn)的編譯器。 PGI 2012還有很多特性和增強(qiáng)功能,包括新的高級(jí)矢量擴(kuò)展指令(AVX)支持?jǐn)U展到最新的英特爾 Sandy Bridge CPU和AMD Bulldozer CPU的 x64指令集架構(gòu);提高自動(dòng)并行化支持;支持遞歸I/O (Fortran 2003語言標(biāo)準(zhǔn)中的技術(shù)要求);新的含有全部PGI功能和優(yōu)化技術(shù)的兼容GNU的C++ 編譯器;OpenMP嵌套并行化;遠(yuǎn)程集群調(diào)試支持;集成PGI C/C++Linux編譯器的Eclipse開發(fā)環(huán)境。PGI 2012新增的GPU編程特性包括,支持最新的CUDA 4.1版標(biāo)準(zhǔn)和具有非同步數(shù)據(jù)傳輸和內(nèi)核啟動(dòng)指令等NVIDIA CUDA功能的圖形處理器的多項(xiàng)新功能。CUDA Fortran的新功能是能夠在CUF內(nèi)核中指定一個(gè)碼流標(biāo)識(shí)符。PGI 2012包含性能和功能優(yōu)化的PGI CUDA C/C++ x86編譯器,CUDA-x86是PGI與NVIDIA的合作開發(fā)成果,去年12月在北京NVIDIA GPU技術(shù)研討會(huì)上發(fā)布,該編譯器把CUDA C/C++ 視為能夠在AMD和英特爾的通用多核 x86微處理器上運(yùn)行的原生并行編程語言。 PGI 2012支持最新版的操作系統(tǒng),包括Red Hat Enterprise Linux 6.2、Fedora 16、SLES 11 SP1和Ubuntu 11.10和Apple OS X Lion。