NHR@TUD training portfolio
As an NHR location, the ZIH, together with the team from the ScaDS.AI Dresden/Leipzig competence center, offers further education and training courses on the following method priorities:
- Big Data & High Performance Data Analytics (see below for training offers)
- Machine Learning (see below for training offers)
- Innovative Storage Architecture (see below for training offers)
- Performance Analysis and Optimization / Performance Engineering (see below for training offers)
- NHR Services (see below for training offers)
- Application Science (see below for training offers)
Performance Engineering
PIKA is a hardware performance monitoring stack that was specially developed for the Taurus cluster of the TU Dresden in order to identify potentially inefficient jobs. HPC users have the option of analyzing the efficiency of their jobs using an interactive web interface. This tutorial contains a brief introduction to job-specific monitoring and describes how HPC users can evaluate their own jobs in terms of performance and resource utilization with the help of PIKA.
Further information: Performance analysis of HPC applications with PIKA
Vampir is an established performance tool for visualization and analysis the behavior of highly parallel HPC applications. On the one hand, he is assisted by the Score-P recording tool, with whose help completely describes the runtime behavior of HPC applications can be recorded. Especially when using several parallel programming paradigms or shared HPC resources (I/O), this provides a detailed insight into the application. On the other hand, the monitoring tool Lo2s is available. Here the focus is on the recording of node-local performance data with little overhead. The workshop gives an introduction to using vampire with Score-P and Lo2s for interactive and visual analysis of the runtime behavior of HPC applications.
Further information: Performance analysis of HPC applications with Vampir, Score-P & lo2s
The focus is on the programming models MPI and OpenMP. In practical exercises (in C, Fortran, and Python) you can immediately test and understand the basic constructs of the Message Passing Interface (MPI) and the shared memory directives of OpenMP (in C and Fortran). In the last part, you will learn how to use parallel programming tools for debugging and performance optimization. This course serves to provide academic training in computational science and also to facilitate academic exchange between the participants. It is organized by the ZIH in cooperation with the HLRS. (Content level: 35% for beginners, 40% intermediate and 25% advanced)
Further information: Programming Workshop with MPI, OpenMP & Tools - Dresden
Deep Learning APIs such as TensorFlow or PyTorch usually do not guarantee efficient use of HPC resources. With existing HPC tools, the efficiency analysis of Deep Learning applications is more difficult than for classical HPC applications. This tutorial aims to bridge the gap between Deep Learning APIs and classical HPC infrastructure and presents practical approaches and recipes for efficient model training on HPC resources. Moreover, we show methods to analyze DeepLearning application's performance.
Further information: Efficiently using & analysing deep learning frameworks on HPC resources
This workshop organised by VI-HPS and the NHR centers RWTH Aachen & ZIH, TU Dresden will:
- give an overview of the VI-HPS programming tools suite
- explain the functionality of individual tools, and how to use them effectively
- offer hands-on experience and expert assistance using the tools
On completion participants should be familiar with common performance analysis and diagnosis techniques and how they can be employed in practice (on a range of HPC systems). Those who prepared their own application test cases will have been coached in the tuning of their measurement and analysis, and provided optimization suggestions.
Further information: https://www.vi-hps.org/training/tws/tw44.html
Innovative Storage Architecture
The lecture gives an introduction to dealing with parallel I/O and distributed file systems in high performance computing. The first part deals with the basics of parallel I/O and working with distributed file systems. The participants learn which hardware and software components are involved in parallel I/O and how they work together. In particular, the differences between working with local and distributed parallel file systems as well as their significance for development and performance are dealt with. In the second part, possibilities are presented how users can analyze the I/O of their application. Furthermore, attention is drawn to typical pitfalls and initial possibilities for I/O optimization are shown.
Further information: Introduction to parallel I/O and distributed file systems
Application Science
Scalable and efficient numerical simulations continue to gain importance, as computation is firmly established as the third pillar of discovery, alongside theory and experiment. Meanwhile, the performance of computing hardware grows through increasing heterogeneous parallelism, enabling simulations of ever more complex models. However, efficiently implementing scalable codes on heterogeneous, distributed hardware systems becomes the bottleneck. This bottleneck can be alleviated by intermediate software layers that provide higher-level abstractions closer to the problem domain, hence allowing the computational scientist to focus on the simulation. Here, we present OpenFPM, an open and scalable framework that provides an abstraction layer for numerical simulations using particles and/or meshes. OpenFPM provides transparent and scalable infrastructure for shared-memory and distributed-memory implementations of particles-only and hybrid particle-mesh simulations of both discrete and continuous models, as well as non-simulation codes. This infrastructure is complemented with frequently used numerical routines, as well as interfaces to third-party libraries. In this workshop, we will see the basic data structures in OpenFPM and basic operations for parallel programming on CPUs and GPUs. In the second part, we will see how these can be used to construct simulations.
Further information: OpenFPM: Distributed data-structures for particle and particle-mesh codes on parallel computers
This workshop teaches the fundamental tools and techniques for accelerating C/C++ applications to run on massively parallel GPUs with CUDA®. You’ll learn how to write code, configure code parallelization with CUDA, optimize memory migration between the CPU and GPU accelerator, and implement the workflow that you’ve learned on a new task—accelerating a fully functional, but CPU-only, particle simulator for observable massive performance gains. At the end of the workshop, you’ll have access to additional resources to create new GPU-accelerated applications on your own.
Further information: Instructor-Led Workshop: Fundamentals of Accelerated Computing with CUDA C/C++
MATLAB is a programming and numeric computing platform used by millions of engineers and scientists to analyze data, develop algorithms, and create models. It is developed by MathWorks, the leading developer of mathematical computing software for engineers and scientists. TU Dresden provides all staff and students with free campus-wide MATLAB access, including dedicated toolboxes for various applications.
With MATLAB and the MATLAB Parallel Server researchers can use the familiar MATLAB environment to run computationally intensive MATLAB programs efficiently on computer clusters. This event will introduce participants who are familiar with the MATLAB environment to the MATLAB Parallel Server and show how to run batch jobs, parallel computations and provide an understanding of the caveats in running in a cluster environment. The event will also show how to use the built-in capabilities for Machine Learning in MATLAB using the MATLAB Parallel Server and show how to do deep learning with MATLAB using modern GPUs on a cluster computer through the MATLAB Parallel Server. In addition, one module will be dedicated to the interoperability of MATLAB with the Python programming language.
Further information: MATLAB in HPC
The course introduces into established numerical methods for Computational Fluid Dynamics in the context of high performance computing. An emphasis is placed on explicit methods for compressible flows, but also numerical methods and considerations
for incompressible Navier-Stokes equations are discussed. Additional topics are higher order discretizations for the solution of systems of partial differential equations and the Lattice Boltzmann method. The last day is dedicated to parallelization.
Hands-on sessions will manifest the contents of the lectures and train the use of cluster systems for parallel simulations. In most of these sessions the tools from the APES-Suite will be used. They cover grid generation with Seeder, visualization with ParaView and the usage of parallel CFD solvers Ateles and Musubi on the local HPC system.
Further information: Introduction to Computational Fluid Dynamics
NHR Services
Research data management (RDM) is a bit like taxes: It accompanies you in the background, but sometimes requires a lot of attention at the most inopportune time (the tax return! Where is this one invoice!). But when it is well-planned and consistently implemented, in the end, there is also a bonus in the RDM that the (research) family can enjoy in the long term! In accordance with good scientific practice, data can be found and traced in the long term, responsibilities and processes are clearly defined, and you can clear your mind for the really important thing: your own research.
This NHR course series conveys the basic terms, theoretical concepts, and practical ideas for planning and implementing a needs-based RDM. In addition to a general introduction, the RDM should also be viewed from the perspective of HPC.
Further information: Research data management in general and in HPC
Machine Learning
The competence center ScaDS.AI Dresden/Leipzig offers in cooperation with NHR@TUD trainings on 'Machine Learning on HPC', 'R on HPC' and 'JupyterHub on HPC'.
Further details: ScaDS.AI trainings
Big Data & High Performance Data Analytics
The competence center ScaDS.AI Dresden/Leipzig offers in cooperation with NHR@TUD trainings on 'Data analysis' and 'Big data processing'.
Further details: ScaDS.AI trainings
This tutorial equips participants with the essential skills to design and implement High-Performance Computing (HPC) compliant data analysis workflows using Snakemake. Through hands-on exercises and practical demonstrations, attendees will learn how to harness the power of this workflow manager to utilize HPC resources effectively and ensure reproducibility in their data analysis workflows. The Snakemake workflow system is widely used in bioinformatics, experimental physics and other data analysis fields.
Further information: Building HPC-Compliant Snakemake Data Analysis Workflows
Course formats
- NHR lecture (course without exercise)
- NHR tutorial (course with practice)
- NHR workshop (course with theoretical and practical exercises and intensive exchange on the application examples)
Ms Anja Gerbes M.Sc.
Send encrypted email via the SecureMail portal (for TUD external users only).