alpaka and openPMD Workshop and Hackathon

This course will be provided as a HYBRID course (on-site + using Zoom)

We are excited to invite you to a dynamic three-day workshop and hackathon focused on two powerful tools for high-performance computing: alpaka and openPMD. This event will bring together developers, researchers, and enthusiasts from diverse backgrounds to collaborate, learn, and innovate.

Join us for an engaging and productive event where innovation meets collaboration. Whether you are new to alpaka and openPMD or an experienced user, this workshop and hackathon will provide valuable insights and opportunities to advance your skills and projects and at the end you will be ready to use these powerful libraries in your own projects.

This hackathon is organized by HZDR/CASUS with the Plasma-PEPSC CoE in collaboration with ENCCS and EuroCC@GCS, High-Performance Computing Center Stuttgart (HLRS), Jülich Supercomputing Centre (JSC), Leibniz Supercomputing Centre (LRZ) - National Competence Centres for High-Performance Computing.

Location

This hybrid event will take place online and at

HZDR,
Bautzner Landstrasse 400,
01328 Dresden, Germany
Lecture Hall 106/255

Location and nearby accommodations

Start date

Oct 23, 2024
09:00

End date

Oct 25, 2024
17:30

Language

English

Entry level

Advanced

Basic

Course subject areas

Bootcamp/Hackathon

Parallel Programming

Performance Optimization & Debugging

Topics

C/C++

Code Optimization

GPU Programming

MPI

MPI+OpenMP

OpenACC

OpenMP

Back to list

Prerequisites and content levels

Prerequisites
  • Basic Knowledge of High-Performance Computing (HPC): Participants should have a foundational understanding of HPC concepts, architectures, and programming.

  • Basic Linux/Unix Skills: Ability to navigate, use command-line tools, and perform basic operations in a Linux/Unix environment.

  • Programming Skills: Proficiency in programming languages commonly used in HPC, such as C, C++, Fortran, or Python. Knowledge of parallel programming paradigms (e.g., MPI, OpenMP) is beneficial.

Content levels
  • Community-target-level: 16 hours

Learn more about course curricula and content levels.

Agenda

  • Introduction to alpaka: Learn about the alpaka library, its architecture, and how it enables portable and performant parallel programming across various hardware backends.
  • Optimizing with alpaka: Discover advanced techniques for optimizing kernels and managing memory in alpaka to achieve maximum performance.
  • Getting Started with openPMD: Dive into the openPMD standard, exploring how it facilitates scalable I/O for scientific data in simulations and experiments.
  • Integrating openPMD with Simulation Codes: Learn best practices for integrating openPMD with your existing simulation frameworks and how to leverage its full potential.
  • Showcasing use of alpaka and openPMD with PIConGPU: PIConGPU is a user of both these libraries and leverages them to do exascale simulations. Take a short look inside PIConGPU to see how these libraries are used in a large project and run a test simulation with PIconGPU.

 

Hands-on sessions

alpaka

alpaka (Abstraction Library for Parallel Kernel Acceleration) is a powerful C++ library designed to enable portable and efficient parallel programming across a variety of hardware platforms. It provides a uniform API that abstracts the underlying hardware, allowing developers to write parallel code that can be executed on different backends, such as CPUs, GPUs, and FPGAs. By using alpaka, developers can achieve high performance and maintain portability, making it an ideal choice for high-performance computing (HPC) applications.

Key features of Alpaka include:

  • Hardware Abstraction: Write once, run anywhere. alpaka abstracts the specifics of different hardware architectures.
  • Performance: Optimize your applications to run efficiently on any supported backend.
  • Flexibility: Support for various parallel programming paradigms and patterns.
  • Scalability: Suitable for both small-scale and large-scale HPC environments.

GitHub: https://github.com/alpaka-group/alpaka

 

openPMD

openPMD (Open Standard for Particle-Mesh Data) is a community-driven metadata standard for describing and storing scientific data in a portable and scalable manner. It provides a FAIR data format for particle and mesh data, enabling blazingly fast and easy IO, sharing, analysis, and visualization of large datasets. The openPMD standard ensures consistency and interoperability across different software and hardware platforms, promoting reproducible research and collaboration.

Key features of openPMD include:

  • Standardization: Defines a common format for metadata and data, facilitating data exchange and analysis.
  • Scalability: Efficient handling of large datasets, suitable for HPC environments.
  • Interoperability: Seamless integration with various simulation codes and data analysis tools.
  • Extensibility: Flexible and extensible to accommodate specific needs of different scientific domains.

GitHub: https://github.com/openPMD/openPMD-standard

Registration information

Please register at course via the button at the top of this page with your institutional e-mail address to prove your affiliation.

The final participants will be selected and informed after the registration deadline has passed.

This course is offered in cooperation by HLRS,  HZDR/CASUS and Plasma-PEPSC CoE. Your registration data will be transferred to these partners (legal notes at the provided links).

Registration closes on October 11, 2024 at 23:55.

Fees

  • Students without Master's degree or equivalent. Participants from EU or EuroCC countries only: 0 EUR
  • PhD students or employees at a German university or public research institute: 0 EUR
  • PhD students or employees at a university or public research institute in an EU or EuroCC country other than Germany: 0 EUR.
  • Other participants, e.g., from industry, other public service providers, or government. Participants from EU or EuroCC countries only: 0 EUR

Our course fee includes coffee breaks (in classroom courses only).

For lists of EU and EuroCC countries have a look at the Horizon Europe and EuroCC website.

Only participants from institutions belonging to these countries can take part in this course.

HLRS Training Collaborations in HPC

HLRS is part of the Gauss Centre for Supercomputing (GCS), together with JSC in Jülich and LRZ in Garching near Munich. EuroCC@GCS is the German National Competence Centre (NCC) for High-Performance Computing. HLRS is also a member of the Baden-Württemberg initiative bwHPC.

This course is provided within the framework of EuroCC2.

Plasma-PEPSC CoE

This course is partly realised in cooperation with the Centre of Excellence Plasma-PEPSC. Funded by the European Union through Grant Agreement No. 101093261.

Official course URL(s)

https://events.hifis.net/event/1657/ and course website at Alpaka.

Further courses

See the training overview and the Supercomputing Academy pages.

Related training

All training

September 16 - October 18, 2024

Online (flexible)


September 25 - 26, 2024

Ljubljana, Slovenia


October 14 - 18, 2024

Stuttgart, Germany


November 04 - December 06, 2024

Online (flexible)


November 04 - 08, 2024

Online


November 11 - 15, 2024

Hybrid Event - Stuttgart, Germany


November 19 - 22, 2024

Hybrid Event - Stuttgart, Germany


December 02 - 05, 2024

Online by JSC


December 09 - 13, 2024

Online