意法半導體全資子公司、全球領先的獨立高性能計算(HPC)編譯器及開發工具供應商Portland Group宣布,可支持新的圖形處理其 (GPU)和圖形加速器指令式編程模型OpenACC?1.0標準的PGI AcceleratorTMFortran和 C編譯器已經上市。OpenACC?編程標準讓程序員在所寫程序中提供暗示或指示。
OpenACC標準由PGI、Cray和NVIDIA 3家公司聯合創立,同時得到CAPS的支持,于2011年11月在 SC11大會上首次發布,與NVIDIA?CUDA?并行編程架構完全兼容,并可與其互操作。OpenACC 1.0技術規范是這三個創辦公司聯合開發的,大部分內容來自 PGI Accelerator編程模型。OpenACC應用程序接口(API)描述了一系列把采用標準C、C++和Fortran語言編寫的循環調度語句和代碼段從主CPU轉移到所連接的加速器的編譯器指令,讓開發人員能夠跨操作系統、主CPU和加速器進行代碼移植。采用指令編譯方法后,開發人員只需一個多平臺多廠商兼容代碼庫,為跨平臺和多代應用開發帶來諸多優勢和便利。
在采用OpenACC標準后,并行程序員可把代碼從主CPU移到所連接的加速器上,通過指示(又稱指令識別)適合加速的代碼段。除向編譯器帶來并行計算機會外,指令還能用于說明如何向一個特定的加速器高效復制循環語句和如何優化數據移動。指令編程模型為開發人員提供更多開發資源,讓編譯器執行主CPU減負的精細過程,把計算任務轉移到加速器,讓開發人員專心優化算法和應用功能。指令編程模型的主要好處是可大幅提升應用軟件性能,而無需修改底層源代碼。
支持OpenACC的PGI Accelerator編譯器
PGI Accelerator編譯器于2008年首次發布,新版在以下幾個方面進一步強化了OpenACC標準,為用戶提供更強的功能和更優的設計靈活性:
1)自動生成最佳的循環調度指令;2)自動占用共享內存空間;3)自動執行歸約求和運算(automatic sum reductions);4)與CUDA Fortran和CUDA C/C++互操作;5)在有無加速器的條件下,PGI Unified BinaryTM技術可執行文件均能正常工作。