July 20, 2015 - by Simone Ulmer

There was plenty of “hacking” going on in Lugano from 6 to 10 July – but it was all completely legal, as the Hotel de la Paix hosted a workshop for developing efficient supercomputer codes. Over 60 computer specialists gathered in the hotel’s air-conditioned rooms – a pleasant escape from the scorching temperatures outside – to take part in the first OpenACC EuroHack, an event initiated by the Swiss National Supercomputing Centre (CSCS). OpenACC is an extension of existing programming languages, such as Fortran or C++, for Graphics Processing Units (GPUs) to enable programs to calculate more quickly. Modern GPUs act as accelerators, which speed up computationally intensive parts of a wide spectrum of computer codes, not merely graphics rendering. The participants learned how to issue directives to the compiler (which converts the applications into the computer language, so to speak) with the help of OpenACC so that specific parts of the codes are translated in a way that makes them run exceptionally efficiently on the GPUs of a supercomputer. The “hackathon” was aimed at supercomputer users with experience in all kinds of research disciplines and applications.

The participants came from the fields of chemistry, physics, astrophysics, climate research, fluid dynamics and neuroscience. They were given access to CSCS’s flagship supercomputer “Piz Daint” with its hybrid architecture made up of CPUs and GPUs to test out their codes. “The first OpenACC Hackathon held by the Oak Ridge National Laboratory last October was such a great success that, in December, the OpenACC community decided to add three more events to the programme,” said Will Sawyer, a computational scientist at CSCS and co-organiser of the EuroHack event. Another hackathon therefore took place in April, organised by the National Center for Supercomputing Applications (NCSA) at the University of Illinois at Urbana-Champaign in the USA, and now the first European version has been held by CSCS in Lugano. The Oak Ridge National Laboratory is due to run a further hackathon in the autumn.

A hive of activity in the conference roomThe sound of fingers tapping away on keyboards and the endless murmuring of the scientists at work as they discussed matters in round table debates or stared fixedly at their computer screens could be heard coming from the large conference room at the Hotel de la Paix. The participants were divided into nine groups, each of which was supervised by two expert mentors, including computer specialists from the companies NVIDIA and Cray and employees of CSCS, the Oak Ridge National Laboratory and various university institutions.

All of the mentors had extensive experience in programming with OpenACC, with some having developed OpenACC-capable compilers themselves and been involved in defining the OpenACC standard. Take for example Michael Wolfe from the company PGI, which has been working on this type of compiler for seven years. “We are here to work with scientists to see how they really use the tools and what problems they run into,” he said. For him and his team, the hackathon was an opportunity to identify unforeseen problems that scientists may experience with OpenACC in specific applications, with the ultimate aim of resolving them. Their long-term goal is to develop a programming model where the compiler and tools recognise where and how a code needs to be optimised for different systems, rather than scientists having to write different programs for different computer architectures.

What attracted the participants to the workshop was their eagerness to acquire knowledge and expertise in this area, and some were also keen to take advantage of the chance to use the “Piz Daint” petaflop computer: physicist David Daverio from the research group led by Martin Kunz, which is investigating topological defects (cosmic strings) in space at the University of Geneva, was not there just to find out how to get a specific part of the group’s code to work on a GPU. He also wanted to see OpenACC actually put into action before the week was out so that the scientists could use the computing power of “Piz Daint” in future too. “The hackathon is a great opportunity for us,” he said with enthusiasm. “The mentors are very good and they help us to improve a lot of small details.”

Testing the limits

Climate researchers from Germany took part in the event in order to gain experience in working with OpenACC and learn more about it. Luis Kornblueh from the Max Planck Institute for Meteorology had already been working with CSCS for many years. Will Sawyer helped Kornblueh’s team to port the dynamic core of their new climate code to GPUs. However, since he and his team were “itching to have a go themselves”, Kornblueh said that they used the hackathon as an opportunity to “play” with the old climate code, which is not actually suitable for GPUs. “By taking the worst case scenario as a basis, we can test what is possible and what isn’t.”

Scientists from the United States Naval Academy were also at the event, including Carl Albing, a professor of computer science who teaches HPC (high-performance computing). The topic of GPUs is included in his course, so he came to the hackathon to learn more about OpenACC so that he could pass on this knowledge through his teaching. The OpenACC courses in the USA are held during the semester, which was Albing’s main reason for coming all the way to Switzerland to take part in the European event – that and, of course, as he adds, the fact that Lugano is an attractive place and the US Navy is keen for its students to forge international links and contacts.