User Tools

Site Tools


teaching:hpc-lab

Lab Exploring HPC technologies

Lecturer Prof. Dr. Estela Suarez
Module (BASIS) MA-INF-1225
eCampus TBD: eCampus_MA-INF-1225
Type of Lecture LAB
Credits 9 CP
Research Area High Performance Computing
Language English
Max. Number of Participants 2

Registration

If you consider participating in this lab, please write an informal application e-mail to Prof. Dr. Estela Suarez. This lab has an upper limit on the number of participants; please mention in your Email:

  • Your past experience in HPC and your participation in previous HPC lectures. Notice that we expect you to have some practical experience on C/C++ and Python programming.
  • Your availability dates for a stay at the Jülich Supercomputing Centre (JSC). Notice that we expect you to be at JSC on site for a minimum of 2-days per week during 4 weeks in a block.

Dates

Date When Where
Deadline application 15.09.2023 Email to lecturer
Introductory workshop 04.10.2023 - 06.10.2023 Room 2.050
4-weeks Blockveranstaltung dates TBD bilaterally JSC

Content

You will learn the practical use of HPC hardware and software and how to compare performance and features between different technologies.

  • HPC systems: access and use of HPC compute resources at the Jülich Supercomputing Centre
  • Use of different processor architectures
  • Software environment, performance analysis tools
  • Parallel programming
  • Benchmarking tools and procedures
  • Performance of applications and scaling behaviour, understanding and strategies for improvement

Skills and Prerequisites

  • Technical: The students will carry out a practical task (project) in the context of High Performance Computing (HPC), including test of different hardware architectures and software tools, and documentation of the implemented software/system. In more detail:
    • Ability to understand a use case from complex code developed.
    • Ability to adapt and run applications to different kinds of processing units (e.g. Intel, AMD and Arm CPUs, NVIDIA and AMD GPUs, Graphcore accelerators,…), taking into account their specific architecture characteristic and programming environments.
    • Understanding and use of parallel programming paradigms (e.g. OpenMP, MPI, CUDA, HiP), and high-level programming languages (e.g. Kokkos, SYCL, OneAPI).
    • Ability to design and execute a benchmarking campaign, collect performance information on different hardware architectures, analyse the collected performance data, and extract conclusions.
    • Use of performance analysis tools, understanding of performance bottlenecks and measures to improve them. Software development skills and standards (e.g. git repositories, versioning, documentation).
  • Soft skills:
    • Skills in constructively collaborating and interacting with application developers, tools developers, and system administrators in a solution oriented manner, taking into account their different “work language” and expertise.
    • Ability to properly present the performed work and results obtained and to classify the own results into the state-of-the-art.
    • Prepare readable documentation of software.
  • Prerequisites:
    • Knowledge of a modern programming language (ideally C/C++).
    • Interest in High Performance Computing
    • Recommended: Bachelor Lecture “Computerarchitektur”
  • Studienleistungen:
    • Knowledge of modern programming languages (C/C++, Python).
    • Interest in High Performance Computing.
    • Willing to stay for a minimum of 2 days per week during 4 weeks at the Jülich Supercomputing Centre (Blockveranstaltung, dates to be discussed).

Evaluation

A report and an oral presentation of the results will be the main grading elements. The attendees will deliver the documented software that they have written through a GitLab repository.

Literature

  • John L. Hennessy, David A. Patterson. Computer Architecture - A Quantitative Approach. Morgan Kaufmann Publishers, 2012
  • David A. Patterson, John L. Hennessy. Computer Organization and Design - The Hardware-Software Interface. Morgan Kaufmann Publishers, 2013
  • Message Passing Interface Forum. MPI: A Message-Passing Interface Standard, Version 3.1
  • OpenMP Application Programming Interface, Version 4.5, November 2015
teaching/hpc-lab.txt · Last modified: 2023/09/09 16:35 by estela.suarez

Page Tools