Developing Performance Portable Code for CPU, GPU and MIC

02/26/2013 - 10:00am to 11:00am
NCAR Mesa Lab Main Seminar Room
Mark Govett




Mark Govett, NOAA Earth System Research Laboratory



Developing Performance Portable Code for CPU, GPU and MIC




NOAA’s Earth System Research Laboratory has been exploring GPU since 2008, and MIC since 2011. Our focus has been to develop a single performance portable code that runs on CPU, GPU and MIC. We began developing the directive--based Fortran--to--CUDA Accelerator (F2C--ACC) compiler in 2008 when commercial compilers were not available. F2C--ACC continues to be developed and has been used to both parallelize the FIM and NIM weather models for NVIDIA GPUs, and to evaluate the commercial GPU compilers.


FIM has also been parallelized using openMP for Intel’s Many Integrated Core (MIC) architecture. These parallelization efforts have maintained a single source code, using the directive--based F2C--ACC, and openMP compilers. In this presentation, I will give details of parallelization, and show performance we have achieved with AMD Opteron, Intel SandyBridge, NVIDIA Fermi & Kepler, and Intel MIC architectures.

CISL Seminar Recording