SCIENCE
PGI to Develop Compiler Based on NVIDIA CUDA C Architecture for x86 Platforms
The Portland Group has announced it is developing a CUDA C compiler targeting systems based on the industry-standard general-purpose 64- and 32-bit x86 architectures. The new PGI CUDA C compiler for x86 platforms will be demonstrated at the SC10 Supercomputing conference taking place in New Orleans, November 13-15, 2010.
The NVIDIA CUDA architecture was developed to enable offloading computationally intensive kernels to massively parallel GPUs. Through function calls and language extensions, CUDA gives developers explicit control over the mapping of general-purpose computational kernels to GPUs, as well as the placement and movement of data between an x86 processor and the GPU.
The PGI CUDA C compiler for x86 platforms will allow developers using CUDA to compile and optimize CUDA applications to run on x86-based workstations, servers and clusters with or without an NVIDIA GPU accelerator. When run on x86-based systems without a GPU, PGI CUDA C applications will use multiple cores and the streaming SIMD (Single Instruction Multiple Data) capabilities of Intel and AMD CPUs for parallel execution.
"CUDA C for x86 is a perfect complement to CUDA Fortran and PGI's optimizing parallel Fortran and C compilers for multi-core x86," said Douglas Miles, director, The Portland Group. "It's another important element in our on-going strategy of providing HPC programmers with development tools that give PGI users a full range of options for optimizing compute-intensive applications, while allowing them to leverage the latest technical innovations from AMD, Intel and NVIDIA."
"In less than three years, CUDA has become the most widely used massively parallel programming model," said Sanford Russell, general manager of GPU Computing software at NVIDIA. "With the CUDA for x86 CPU compiler, PGI is responding to the need of developers who want to use a single parallel programming model to target many core GPUs and multicore CPUs."
PGI offers two programming models for GPU accelerators. PGI Accelerator is a high-level directive-based programming model targeting scientific and engineering-domain experts working in high-performance computing. PGI Accelerator compilers are currently available for C99 and Fortran 95/2003. CUDA Fortran, a Fortran 95/2003 analog to NVIDIA CUDA C, was developed by PGI in cooperation with NVIDIA in 2009. CUDA Fortran allows expert programmers to control all aspect of GPU programming. In addition to programming GPU accelerators, PGI products are used widely by HPC programmers targeting applications for 64-bit x64 and 32-bit x86 processor based systems.