SHAREing Task

Porting from “X to Y” workshops -> Migrating between toolchains - Task 055

Work package 2.3
Open
Propose a Solution

Fit to programme

This task has been identified by the working groups as part of the agenda behind WP 2.3.

The task number is 055.

Summary

With the rise of the Grace-Hopper superchip, there are now more systems with non-x86 architecture CPUs. Similarly, we have different CPU and GPU vendors from AMD, Nvidia and Intel, and also the rise of RISC-V. These vendors offer software stacks, and performance can vary depending on how software is configured on these different hardware platforms. Users and developers could both benefit from dedicated workshops to support porting from one ecosystem to another. For example, if the hardware platform of a national computing resource is changing, the users and developers should be supported in understanding the different software environment and toolings. This is not necessarily the same as ‘how do I port my code from CPU to GPU’, this is more on understanding “how do I ‘port’ my code from, say, x86 to ARM”; what are the performance implications and desicision I as a user or develop need to understand?

Methodology

The submitter would need to scope a “porting from X to Y” theme for the workshop including planning out the relevant software stack (and systems to run the code on). Then would need to either collating materials themselves, or reach out to training staff from vendors. Finally, there would be the planning and coordination of a ‘bring your own code’ workshop which could be hybrid to allow for people with different accessibility or travel needs. We recommend building in EDIA principles of event coordination by following guidance from CAKEbox: https://www.cake.ac.uk/CAKEbox/edia/

Outcomes

The main output is to a coordinate workshop that supports users and developers in moving between vendor ecosystems, e.g., Nvidia to AMD. To support SHAREing, a reflective report such as a blog is best to ensure that this feedsback into best practice. Finally, materials for this porting should be free and open source for the community.

Interested in this task?

Submit a proposal to deliver this work.

Propose a Solution