Back

Minisymposium Presentation

Best Practices for Performance, Portability and Inclusivity

Tuesday, June 4, 2024
11:00
-
11:30
CEST
Climate, Weather and Earth Sciences
Climate, Weather and Earth Sciences
Climate, Weather and Earth Sciences
Chemistry and Materials
Chemistry and Materials
Chemistry and Materials
Computer Science and Applied Mathematics
Computer Science and Applied Mathematics
Computer Science and Applied Mathematics
Humanities and Social Sciences
Humanities and Social Sciences
Humanities and Social Sciences
Engineering
Engineering
Engineering
Life Sciences
Life Sciences
Life Sciences
Physics
Physics
Physics

Presenter

Marta
Garcia-Gasulla
-
Barcelona Supercomputing Center

I am a researcher at the Computer Science department of the Barcelona Supercomputing Center (BSC) since 2006. My research interest includes load balancing, parallel programming, performance analysis, and optimization.I co-lead the Best Practices for Performance and Productivity (BePPP) group at BSC. BePPP aims to be the bridge between scientific domain researchers and computer scientists. Promoting best practices for programmers to productively (re)structure their codes in ways that can result in high efficiency and portability. And capture the fundamental co-design input forwarding it to the appropriate system software and architecture team to target their developments in the most useful direction.

Description

Application developers and scientists from different fields relying on HPC struggle to prepare their codes to run efficiently, even on current leadership computer systems. Some of the challenges they face are well known (e.g., parallelization inefficiencies caused by synchronizations, load imbalance, or communication patterns). Other constraints/inefficiencies arise from new computing paradigms (e.g., how to manage input/output when dealing with big data) and the heterogeneity of computing resources (e.g., when/how to efficiently exploit an accelerator).

We will share patterns frequently found in parallel codes that lead to performance or portability loss and a set of recommendations and best practices to avoid these practices.

The proposed best practices are oriented to improve the codes' performance and maintain developer productivity and portability of the codes. These will be crucial in the exascale race to cope with the increasing complexity of applications and computer systems, deal with the variety of architectures and paradigms, and ultimately run efficiently in an exascale supercomputer.

Authors