OpenHMPP, New HPC Open Standard for Many-Core
OpenHMPP Context
By combining parallel and heterogeneous cores, manycore processors offer a tremendous performance potential at a very low power. New parallel languages such as CUDA and OpenCL have emerged to fine program manycore architectures. By being a higher level abstraction, directive-based programming models:
- Minimize code restructuration;
- Keep applications hardware independent;
- And ensure their portability across new generations of hardware.
Heterogeneous processor technology is here to last and porting legacy codes to GPU computing is a major challenge.
OpenHMPP initiators
CAPS entreprise and Pathscale are coordinating their effort to make HMPP (Hybrid Multicore Parallel Programming) directives an Open Standard denoted OpenHMPP.
This initiative aims at creating a community effort for proposing a directive manycore programming interface to the HPC community and thus capitalizing on existing experiences with HMPP.
Asked by users, CAPS and PathScale wanted to team up actors which believe that directive based hybrid programming is a promising to port legacy application. They also believe in a collective approach to sustain the effort.
"It's exciting for PathScale to be a founding member in the OpenHMPP organization. François Bodin (CAPS CTO) and I began work to make HMPP a true open standard almost two years ago." comments Christopher Bergström, CTO at PathScale. "With the creation of OpenHMPP, there is now a clear path for broad adoption and for the standard to evolve, driven by input from all interested parties."
Directives based approach
Directives based approach, such as HMPP, has been proposed a few years ago to deal with GPGPU.
This approach has been validated on many C and Fortran applications and allows achieving performance similar to native GPGPU programming such as CUDA orOpenCL.
The OpenHMPP directives allow the programmer to write hardware independent applications that can significantly speed up C and Fortran code.
OpenHMPP Missions
OpenHMPP is a non-profit association of academic, research, and industry partners which mission is to work with and for the HPC community to make HMPP directives a world-class open standard.
The OpenHMPP consortium oversees the OpenHMPP directives specification, produces and approves new versions of the specification.
In accordance with its vision involving participation and knowledge sharing, OpenHMPP works towards providing programmers with a portable, scalable directive-based parallel programming model for developing parallel applications on hybrid manycore architectures.
OpenHMPP group has several top-level goals:
- Develop and normalize the HMPP directive model.
- Promote the OpenHMPP open standard.
- Federate the OpenHMPP users’ community (manage openhmpp.org, fund / organize users clubs and other related events...).
- Enable members and the wider industry to grow market opportunities.
- Commit to royalty-free standards: make money through enabled products – not from the standards themselves.
- Directly involve the HPC community with external development and feedback.