During the last week of March Appentra ran CESGAHACK4 at the Supercomputing Center of Galicia (CESGA). The four participating teams spent the week learning, discussing solutions and developing parallel versions of their own scientific software.
This is the fourth hackathon organized by Appentra and CESGA, and sponsored by NVIDIA.
What is the goal of the CESGAHACK hackathon?
In the CESGAHACK hackathons, we intend to help scientists use parallel computing and High Performance Computing to process scientific simulations. Our goal is to decrease the execution time of their software, by mentoring participants to develop and parallelize their code in some cases. The hackathon week always starts with presentations on key concepts in code correctness, profiling, parallel programming and parallel computing technologies, from threaded programming models to how to use GPU’s. The week was founded on core principles to help the teams make the most of the limited time they have: identify computational hotspots and how to make the best use of the resources available. In addition, CESGA allows each participant access to the Finis Terrae II supercomputer, providing a platform to test and benchmark their newly parallelized application for both CPU and GPU parallelization.
The participating teams
We received amazing applications for the hackathon. The teams worked in their own software that cover a wide range of scientific domains, from automatic detection and deconvolution of spectral signals, to reaction rates of organic molecules at low temperatures, to protein structure prediction or solvers in computational fluid and continuum mechanics.
The teams came from the Spanish National Research Council (CSIC) in Madrid, Santiago de Compostela-based Mestrelab Research, the European Institute for Aviation Training and Accreditation (EIATA) at Universidad Rey Juan Carlos of Madrid, and the Information Retrieval Lab (IRLab) of University of A Coruña.
Meet the teams in these video interviews:
Five days of hard work
The hackathon started on Monday 25th March at 9 am. The presentations were followed by a hands-on session that led to the teams to move forward with their code from a sequential to a parallel implementation. These sessions, led by Appentra mentors team, included how to identify hotspots to make the best use of parallelization, best practices in measuring performance to ensure you make useful changes to your code, parallel programming paradigms and introducing parallelism with OpenMP and OpenACC. The rest of the time was devoted to preparing the codes for parallelization, working with mentors from Appentra, RWTH Aachen University and CESGA.
Additionally, HPC learning tool Parallelware Trainer was presented. It facilitates both learning and development of accurate and performant OpenMP and OpenACC enabled C software.
On the last hackathon day, the teams presented their successes and challenges, where they started from, what they had achieved, and their future steps.
Each team worked on their own code, so each team has their own unique set of future steps.
For some teams, the main outcome of the week was understanding their own code patterns to enable effective parallelization, while others need to look beyond their current parallelization to new hotspots and to take full advantage of hybrid MPI+OpenACC enabled code.
Each team has a different code, for this reason they progressed at their own pace, but the one that has reached the most milestones and therefore was the winner of the NVIDIA 1080ti was the EIATA team, from the European Institute for Aviation Training and Accreditation of Madrid.
We hope that the prize will be useful in helping develop faster aviation-related algorithms.
A Motivating and Fun Hackathon
As in all our previous hackathons, the teams are very motivated and everyone wanted to improve their software… The participants did not stop working, they even carried on working into the evenings! But we still found time for fun and networking at a dinner in the downtown of Santiago de Compostela.
We love the environment of this Hackathon!
We hope to continue helping many more scientists trying to improve some aspects of society .