Mar 5 – 7, 2024
Julius-Maximilians-Universität Würzburg
Europe/Berlin timezone

The Helmholtz Analytics Toolkit (Heat) and its role in the landscape of massively-parallel scientific Python

Mar 6, 2024, 4:30 PM
20m
HS5

HS5

Talk (15min + 5min) Workflowmanagement for Parallel Computing Parallelization and HPC Infrastructure

Speaker

Fabian Hoppe (DLR - Institut für Softwaretechnologie - HPC)

Description

When it comes to enhancing exploitation of massive data, machine learning methods are at the forefront of researchers’ awareness. Much less so is the need for, and the complexity of, applying these techniques efficiently across large-scale, memory-distributed data volumes. In fact, these aspects typical for the handling of massive data sets pose major challenges to the vast majority of research communities, in particular to those without a background in high-performance computing. Often, the standard approach involves breaking up and analyzing data in smaller chunks; this can be inefficient and prone to errors, and sometimes it might be inappropriate at all because the context of the overall data set can get lost.

The Helmholtz Analytics Toolkit (Heat) library offers a solution to this problem by providing memory-distributed and hardware-accelerated array manipulation, data analytics, and machine learning algorithms in Python. The main objective is to make memory-intensive data analysis possible across various fields of research ---in particular for domain scientists being non-experts in traditional high-performance computing who nevertheless need to tackle data analytics problems going beyond the capabilities of a single workstation. The development of this interdisciplinary, general-purpose, and open-source scientific Python library started in 2018 and is based on collaboration of three institutions (German Aerospace Center DLR, Forschungszentrum Jülich FZJ, Karlsruhe Institute of Technology KIT) of the Helmholtz Association. The pillars of its development are...

  • to enable memory distribution of n-dimensional arrays,
  • to adopt PyTorch as process-local compute engine (hence supporting GPU-acceleration),
  • to provide memory-distributed (i.e., multi-node, multi-GPU) array operations and algorithms, optimizing asynchronous MPI-communication (based on mpi4py) under the hood, and
  • to wrap functionalities in NumPy- or scikit-learn-like API to achieve porting of existing applications with minimal changes and to enable the usage by non-experts in HPC.

In this talk we will give an overview on the current state of our work. Moreover, focussing on the research software engineering perspective we will particularly address Heats role in the existing ecosystem of distributed computing in Python as well as technical and operational challenges in its further development.

Primary authors

Claudia Comito (Forschungszentrum Jülich, Jülich Supercomputing Centre) Dr Markus Götz (Karlsruhe Institute of Technology) Juan Pedro Gutirrez Hermosillo Muriedas (SCC) Björn Hagemeier (Forschungszentrum Jülich GmbH) Fabian Hoppe (DLR - Institut für Softwaretechnologie - HPC) Philipp Knechtges (DLR) Kai Krajsek (Forschungszentrum Jülich GmbH) Alexander Ruettgers (German Aerospace Center (DLR)) Michael Tarnawa (Forschungszentrum Jülich)

Presentation materials

There are no materials yet.