SCIENCE
The Portland Group Announces PGI 2011 HPC Compilers and Development Tools
The Portland Group has announced availability of the 2011 release of the PGI line of high-performance parallelizing compilers and development tools for Linux, Mac OS X and Windows. PGI 2011 is the first general release to include full support for the PGI Accelerator programming model 1.2 specification on x64 processor-based systems incorporating NVIDIA CUDA(1) enabled Graphics Processing Units (GPUs). In addition, the new PGI release includes a number of enhancements for multi-core x64 processor-based HPC systems.
New features and enhancements include support for the new Advanced Vector Extensions to the x64 instruction set architecture (AVX) in upcoming Intel Sandy Bridge and AMD Bulldozer CPUs, support for the Fortran 2003 language standard, enhancements in C++ performance through default fast exception handling and improved Boost C++ libraries support, OpenMP nested parallelism, new memory-hierarchy optimizations, debugger improvements including compact parallel register displays and tab-based sub-windows, and performance profiler enhancements to simplify browsing of multi-core profiles. The 2011 release also supports GPU performance profiling and benefits from revamped packaging for faster download and installation.
"PGI compilers are a key software component on Cray XE6 systems, providing our customers with tremendous value and performance," said Barry Bolding, vice president of Cray's products division. "PGI plays a pivotal role in the development of optimizing compiler technology for the latest HPC systems, and is an important collaborator with Cray in our efforts to develop and standardize high-level portable programming models applicable to current and future many-core and accelerator-enabled systems."
Major HPC system vendors including Cray, HP and IBM are all now delivering systems incorporating GPU accelerators. Fully utilizing the performance potential from these new systems requires most HPC developers to modify and re-compile their code. Several different models for programming GPUs have been proposed with NVIDIA's CUDA architecture and programming model achieving the widest adoption within the HPC community. In response to HPC market demand, NVIDIA and PGI cooperated to develop CUDA Fortran, a Fortran 2003 compiler and tool chain for programming of NVIDIA GPUs using Fortran in 2009. The two companies are now working together to develop the PGI CUDA C/C++ compiler that enables CUDA programs to port to any multi-core x64 processor-based system with or without NVIDIA GPU accelerators. This capability was demonstrated at SC10 last November, and will be rolled out to PGI users in phases as part of PGI 2011 software updates throughout the coming year.
"The continuing evolution of the PGI compilers to support the CUDA parallel architecture ensures that applications developed by more than 100,000 CUDA developers worldwide can be portable to all types of HPC systems," said Sanford Russell, director of CUDA marketing at NVIDIA. "This trend will clearly continue with the upcoming release of the CUDA-x86 compiler, enabling developers to compile and optimize their CUDA applications to run on x86-based systems."
PGI 2011 CUDA Fortran enhancements include CUDA Fortran module data sharing, a new capability to automate CUDA Fortran kernel generation, and optimized array slice assignments. New code generation and scheduling optimizations, including automatic loop unrolling, contribute to improved performance of both PGI Accelerator and CUDA Fortran GPU codes.
In addition to CUDA language extensions, PGI 2011 expands support for the high-level PGI Accelerator programming model, a set of compiler directives used to specify regions of code in standard Fortran and C programs that can be offloaded from a host CPU to an attached accelerator to enhance performance. PGI 2011 adds full PGI Accelerator 1.2 programming model support, including inter-procedural device resident data which enables larger portions of applications to be effectively accelerated, and the cache and unroll clauses that allow fine tuning of GPU kernels by the programmer. Concurrently, PGI has released the PGI Accelerator 1.3 programming model specification which includes a roadmap of planned future developments.
PGI 2011 supports the latest operating system releases including Red Hat Enterprise Linux 6, Fedora 13, SLES 11 PS1 and Ubuntu 10.10.