PRACE hosted a Seminar on CUDA and HMPP

12 HPC (High Performance Computing) experts from six PRACE countries met end of April near Paris for an intense four day training on the latest GPGPU (General-purpose computing on graphics processing units) programming languages.

The participants got a deep insight into CUDA, a language developed to enable general purpose computing for NVIDIA graphic cards. The first two days were dedicated to CUDA, addressing problems from the basics of memory allocation and transfer to more elaborated stuff like mixing OpenMP and MPI with CUDA to allow for multiple levels of parallelization. Hands-on sessions on the newly installed GENCI-CEA PRACE prototype enabled the participants to test their knowledge on the latest high-end Tesla cards.

After the first two days, the main focus of the lessons switched to the HMPP workbench from CAPS enterprise. HMPP (Hybrid Multicore Parallel Programming) is a collection of tools, compilers and a runtime that allows portable programming for various multi- and manycore architectures. HMPP uses a set of compiler directives embedded in either FORTRAN or C-Code that allow automatic compilation to CUDA or SSE instructions for x86-CPUs. HMPP simplifies programming for Brook-enabled GPUs from ATI/AMD and potentially for the Cell processor by the preparation of so called “codelets”. The participants learned how to use HMPP to easily port their applications to GPUs (namely a NVIDIA Tesla), how to influence the code generation to get maximal performance and how to use the codelet generation.

The high level of expertise within the group well reflected how many talented people work together within the PRACE project. They managed to complete the set of hands-on labs well in time so that enough time was left to present and discuss their own projects. These fruitful discussions led to many good suggestions and ideas, not only from the experts from CAPS enterprise but also from their peers. They are now able to either port old applications with the help of CUDA or HMPP or create new ones from the start. We expect them to continue practicing on the GENCI-CEA PRACE prototype so that they can give feedback on this kind of machine used under real conditions.

This seminar was jointly organized by CEA and GENCI and took place at the Ter@tec site next to CEA Bruyères-le-Châtel from April 27 to April 30, 2009.