HMPP allows rapid development of GPU accelerated applications. It is a workbench offering a high level abstraction for hybrid programming based on C and FORTRAN directives. It includes:
  • A C and Fortran compiler,
  • Data-parallel backends for NVIDIA CUDA and OpenCL, and
  • A runtime that makes use of the CUDA / OpenCL development tools and drivers and ensures application deployment on multi-GPU systems.

See figure at:

Software assets are kept independent from both hardware platforms and commercial software. By providing different target versions of computations that are offloaded to the available hardware compute units, an HMPP application dynamically adapts its execution to multi-GPUs systems and platform configuration, guaranteeing scalability and interoperability.

HMPP Workbench is based on OpenMP-like directive extensions for C and Fortran, used to build hardware accelerated variants of functions to be offloaded in hardware accelerators such as Nvidia Tesla (or any Cuda compatible hardware) and AMD FireStream. HMPP allows users to pipeline computations in multi-GPU systems and makes better use of asynchronous hardware features to build even better performing GPU accelerated applications.

With the HMPP target generators one can instantaneously prototype and evaluate the performance of the hardware accelerated critical functions. HMPP code is considered to be efficient, portable, and easy to develop and maintain.

HMPP uses codelet/callsite paired directives: codelet for routine implementation and callsite for routine invocation. Unique labels are used for referencing them.

Supported platforms: GPUs, all NVIDIA Tesla and AMD ATI FireStream
Supported compilers: Intel, GNU gcc , GNU gfortran, Open64, PGI, SUN
Supported Operating systems: Any x86_64 kernel 2.6 Linux with libc, g++, Windows

Usage / adoption:

The HMPP directives have been designed and used for more than 2 years by major HPC leaders.
CAPS and PathScale (a provider of high performance AMD64 and Intel64 compilers ) have jointly started working on advancing the HMPP directives as a new open standard. They aim to deliver a new evolution in the General-Purpose computation on Graphics Processing Units (GPGPU) programming model.

Not free, commercial and educational licenses.

Additional info: