Authors: Tom Vander Aa (Exascience Lab at imec), Antonio Peña (Barcelona Supercomputing Center (BSC); Universitat Politècnica de Catalunya (UPC), Spain), Robert Lucas (ANSYS, Inc.), Roel Wuyts (Interuniversity Microelectronics Centre (IMEC), Belgium; KU Leuven, Belgium)
Abstract: Writing good parallel programs is painful. Very painful.
This is because high performance compute systems have evolved from simple single-core machines, strung together with Ethernet, into multi-core, multi-accelerator, multi-level monsters. As a consequence, programming such systems means dealing with synchronization and communication overhead, load imbalance, and a multitude of programming models and languages.
In this BoF we bring together application people to share their pain in programming parallel systems, with people working on programming frameworks and models. We hope this can lead to insights and solutions to alleviate the pain.
Long Description: The first installment of this BoF was held at SC24 in Atlanta. There we learned that there still is a great divide between expert HPC programmers and application domain experts. Therefore, we organized a follow-up workshop at ISC25 to bring those two groups of people closer together and look for solutions that can make life easier for the application developers.
The main conclusions of the ISC workshop were that there clearly is a further need for sharing tools and techniques between application experts and HPC experts. These are some examples from our last workshop where more sharing is needed:
- Best practices in CI pipelines, packaging, and containers
- Tools for performance monitoring, tracing and debugging
- How to detect performance degradation due to kernel, tool, or library version, slurm configurations, HW versions, environment variables?
*Goal for this BoF*:
Together with the audience, we will build a list current best practices that to avoid performance degradation, parallel programming bugs, portability failures, or parallel programming pains in general. We shift from listing pains to alleviating them
Audience:
- Beginners who want to learn how hard it is to program supercomputers and what to watch out for.
- Experienced application developers who want to share their frustrations.
- Programming models people who want to learn how they can help frustrated application developers.
Website: https://ppp.imec.be