Imp-RSE-sions from SuperComputing conference 2023

Samantha Wittke, Radovan Bast
December 06, 2023

SuperComputing conference 2023 in Denver

"SC23 Welcomed Over 14,000 Attendees and 438 Exhibitors Setting SC Records on Both Counts" (from SC homepage).

And indeed, a little overwhelming it was, but getting lost in the many hallways of the Colorado conference center was one of the best icebreakers to start talking to random people. However, following mostly the smaller events of the conference, like BoFs and workshops, it never really felt too big or anonymous.

It was sometimes difficult to choose between multiple relevant and interesting sessions happening at the same time. But we also tried to "parallelize" and below we summarize our impressions and notes.

"I am HPC"

The topic of this year's SuperComputing conference was "I am HPC" and this showed in many of the keynotes and panels that were presented, as well as a wonderful exhibition of previous conference themes and highlights and some posters highlighting different key people stories in HPC.

Democratizing HPC workshop

This was a great workshop and we had the chance to see two outstanding presentations (while unfortunately missing the other presentations in this session when jumping to other sessions and meetings):

The second presentation cited this important document: The Missing Millions.

Research Software Engineering

Even though this conference is so large, it is nice to see a lot of the same people in sessions of interest. One of these groups are the Research Software Engineers. US-RSE had a booth in the exhibition area and luckily collected a list of all RSE-related talks and sessions of the whole conference, and also organized a social gathering.

In some meeting we learned about a wonderfully curated list of lists for RSEs by the Helmholtz Federated IT Services (HIFIS): https://github.com/hifis-net/awesome-rse .

RSE in HPC workshop

The UniverseHPC project (providing training for RSEs in HPC) developed a nice looking framework for delivering courses and materials from markdown with metadata in yml.

A portal for scientific software discovery: Virtual Institute for Scientific Software.

Scientific Software and the People Who Make it Happen: Building Communities of Practice

This was a second edition of this BoF (previous editions) with a welcoming community and interesting and inspiring lightning talks.

Among others, there was a lightning talk about RSE as a career path, introducing a brochure on the topic by US-RSE (Research Software Engineers: Creating a Career Path—and a Career) and a talk on the European Environment for Scientific Software Installations, introducing the EESSI software stack.

Panel on RSE in HPC centers

Some notes from the panel discussion hosted by Daniel S. Katz, with Gabrielle Allen, Neil P. Chue Hong, Alison M. Kennedy, Fabio Kon and Miranda Mundt:

What are RSEs:

* Bridge between scientific requirements & computational constraints / HPC novice & computing infrastructure
* Stewards for computational resources
* Advocates for better software practices
* Mentors, trainers, educators
* Quality gates for scientific software

It was also mentioned that ideally an RSE in HPC should have at least 2 of these skills:

* Knowledge of best software engineering practices 
* Domain specific knowledge
* HPC

-> sometimes better if there is a mixed group of RSE, each with 2 of these skills working together

Some issues/challenges that RSEs in HPC face:

* Lack of diversity (from domain perspective)
* Lack of possibilities to develop interpersonal and communication skills
* More work with the researcher instead of work for the researcher (leaving the R in RSE)
* How to keep RSEs relevant in funders/organizations eyes
* Salaries (same skillet earns much better in industry)
* Status: RSEs often seen as inferior to researchers (researchers question to include RSEs as authors in publications, because of "just" doing software, not the "real" research)
* More training possibilities needed to develop own specialization within HPC
* Recruitment: title still not known enough
* Retention due to eg lack of recognition
* Promotion: lack of official titles and career paths
* Often spread all over: need high level advocate/coordination

From FAIR HPC training meeting: Project started to collect HPC training materials, discussion on minimum metadata ongoing, but probably good to follow as material metadata needs to be submitted manually: https://hpc-ed.github.io/. Similar efforts ongoing in Australia (Automatic web scraping): https://dresa.org.au/ .

Workshop on best practices in HPC education and training

A lot of talk about how to making it easier and incentives for training developers to share materials. "Sharing by design" is wished.

IQM had a wonderful lightning talk about their IQM Academy material, talking about the importance of focusing on fundamental concepts to get learners ready for the real world rather than teaching tools that are changing all the time. In their training material they provide exercises solutions via tabs for different tools that can be used. (Example: https://www.iqmacademy.com/curriculum/foundations02.html)

The concept of Code-a-thon was introduced: Learning by doing, starting with a simple "story" and letting learners develop the code. Introducing more complexities in the "story" with every step and let students further develop their code. In that way the students knowledge can grow with the code, instead of having a huge task to start with that is introducing multiple new concepts at once.

Another interesting resources we learned about: Cornell virtual workshop: https://cvw.cac.cornell.edu/

HPC certification forum

Call to action and request for contributions from the HPC certification Forum: They have started defining a skill tree and examination questions to provide a framework for HPC skill certification. Skill tree: https://www.hpc-certification.org/wiki/skill-tree/b as tree: https://www.hpc-certification.org/cs/map/.

An example for how a learning roadmap could be presented: https://roadmap.sh/.

Fun ideas for outreach and teaching HPC

This was a super nice BoF on designing HPC outreach activities with wonderful ideas on especially how HPC and scientific computing can be brought to different age groups. Some activities can be found here: https://edin.ac/3Z0ZJ34 .

Ideas/suggestions/inspirations collected at various workshops and BoFs:

  • Nice example to practice parallel programming with randomness: Nagel–Schreckenberg model. Try to make it reproducible and parallel.
  • Parallel color-by-number.
  • Parallel puzzle solving.
  • Teach machine learning with tic-tac-toe as example with reinforced learning.
  • Distributing a problem with coloring.
  • Practice parallelization by sorting objects into buckets with several people.
  • Scheduler explained with Tetris.
  • Results from Outreach BoF: https://tinyurl.com/outreach-activity-design

ACM SIG Education

The ACM SIG HPC education chapter had an informal meeting that we joined out of interest which seems like a nice forum for exchange around HPC education at universities and centers around the world: https://sighpceducation.acm.org/

Collaborations and contacts

With CodeRefinery we connected with projects Better scientific software, Universe-HPC and INTERSECT to discuss how to work together and exchange experiences/helpers/materials. We agreed that it is crucial for sustainability of all the awesome stuff that comes out of each of these projects, so we agreed stay in contact.

The RSE social event was also great to do some networking with RSEs from around the world. Got lots of insights and contacts to US-RSE and the Software Sustainability Institute in UK, which will help a lot in organizing first Nordic-RSE conference next year and further developing Nordic-RSE to be a welcoming and active community.

We also talked to HPC Carpentries. They know that people are reusing their materials through forks and adapting it to their needs, but no one ever shares their changes back. Mostly this seems to be a problem of wanting to make the materials "ones own" and not being sure if it can/should be reintegrated. Also it is a lot of work to review and make decisions on what should be reintegrated, to keep it all general.

The women in HPC community is steadily growing and providing lots of opportunities for mentoring , learning, career coaching etc with the mission to increase general diversity and make anyone feel welcome in the HPC community. They had a full day workshop and own reception. So instead of the general tracks it was also possible to submit a talk/poster to their session. Highly recommended to follow them on social media if that is your kind of thing :)

Own contributions

Two of our proposals were not accepted but nevertheless we were fortunate to participate in three very inspiring sessions:

  • Radovan presented Research Software Hour, at Scientific Software and the People Who Make it Happen: Building Communities of Practice (SC 2023 BOF).
  • Samantha was part of a workshop panel on training and mentoring, based on CodeRefinery experiences (workshoplink)
  • Samantha co-organized a BoF session on HPC learning pathways, which was great success with almost full house (some 70 people) and a lot of great feedback and discussions going on. It's a tricky topic, we will report the results in Jan/Feb to ACM HPC SIG education and training Chapter and write a blog or something to share the results. There was also requests for more of this type of BoF or workshop in similar forums like ISC etc.

We submitted one tutorial which would have been about showing the CodeRefinery way of providing hybrid training in FAIR research software development practices. However, the proposal was not accepted due to being not timely and thought through enough (but in total did not get too bad reviews). We are planning on trying again next year, maybe with slightly different focus.