High-Performance Computing Center Stuttgart

Supercomputing Academy - Introduction to OpenMP

OpenMP is a multithreading framework for C/C++ and Fortran designed for shared memory environments, such as your PC or a single compute node of a cluster. OpenMP directives allow you to parallelize compute-intensive parts of your program to run on multiple cores, with minimal changes to the rest of your code. Since OpenMP is implemented in all major compilers, it is considered one of the simplest and most portable methods for multithreading.
This course takes you from writing your first OpenMP program through standard parallelization patterns, including loop parallelization, work sharing, and synchronization constructs. You'll also learn about advanced features such as tasking, enabling you to effectively utilize modern multicore systems.
The course combines video lectures by Dr. Rolf Rabenseifner with hands-on exercises that you can complete on your own laptop or on the training cluster of the HLRS. Weekly seminars provide opportunities to discuss concepts, review exercises, and address questions.

Location

Flexible online course: Combination of self-study and live seminars (HLRS Supercomputing Academy)
Organizer: HLRS, University of Stuttgart, Germany

Start date

Jan 26, 2026

End date

Feb 06, 2026

Language

English

Entry level

Basic

Course subject areas

Parallel Programming

Supercomputing Academy

Topics

OpenMP

Back to list

Prerequisites

Linux Course participants possess advanced basic knowledge of the free operating system Linux and knowledge of Linux applications. The background of Linux as well as the most important concepts and tools of Linux such as

  • Shell and shell commands (→confident use of the command line),
  • Secure Shell,
  • Working with files and scripts,
  • System structure,
  • User and permissions management, and
  • Creating simple batch scripts with an editor like nano, vi, or emacs should be familiar. Instructions for working on the training cluster will be provided. If you identify deficiencies in this area, we refer you to https://www.tuxcademy.org/product/lxes/

Programming Skills

  • You have solid programming skills in a programming language (C / C++ or Fortran).
  • You can understand additional programming languages and their constructs.
  • You are able to work with compilers and linkers.
  • You have knowledge of makefiles and can create them.

Basic Hardware Understanding Participants understand how the hardware of a classic computer is structured. This includes primarily a basic understanding of

  • Processors (CPU),
  • Random access memory (RAM),
  • Connection between these two components,
  • Networking technology,
  • Hard drives, and
  • Hardware accelerators.

Content levels

  • Beginners: 10 hours
  • Intermediate: 10 hours

Learning outcomes

After completing this course, participants will:

  • understand the basics of parallel programming
  • know how to parallelize their code using OpenMP Worksharing Constructs
  • know how to use OpenMP taskloop Constructs

Instructor

Lucas Jordan (HLRS)

Agenda

  • Introduction to OpenMP
  • Programming and Execution Model
    • Parallel Regions: Team of Threads
    • Syntax
    • Data Environment
    • Environment Variables
    • Runtime Library Routines
  • Worksharing Directives
    • Which thread executes which statement or which operation?
    • Tasks
    • Synchronization Constructs, e.g., Critical Regions
    • Nesting and Binding
  • Data Environment and Combined Constructs
    • Private and Shared Variables, Reduction Clause
    • Combined Parallel Worksharing Directives
  • Summary of the OpenMP API
  • OpenMP Pitfalls & Optimization Issues

Registration information

Apply for this course via the button at the top of this page.

Registration closes on 16 January 2026.

Late applications after the registration phase are still possible according to the course capacity. For late applications we can not guarantee an ILIAS account by the course start.

Fees

  • 0 Euro: Employees of the HLRS, or the Jülich Supercomputing Centre (JSC), or the Leibniz Supercomputing Centre (LRZ)
  • 35 Euro: Students without master’s degree or equivalent
  • 70 Euro: PhD students or employees at a German university or public research institute
  • 140 Euro: PhD students or employees at a university or public research institute in an EU, EU-associated or PRACE country other than Germany
  • 290 Euro: PhD students or employees at a university or public research institute outside of EU, EU-associated or PRACE countries
  • 470 Euro: Public service providers or government
  • 720 Euro: Other participants, e.g., from industry or private

    Link to the EU and EU-associated (Horizon Europe), und PRACE Ländern.

     

Target audience

This course is intended for, but is not limited to, the following groups:

  • Software Developers
  • Software Architects
  • Computer Scientists
  • IT Enthusiasts
  • Simulation Engineers

HLRS concept for flexible learning

Flexible learning

This course offers flexible learning, allowing you to learn at your own pace and access online course materials and cluster resources. Web-seminars are held weekly to discuss the learning modules and to answer your questions. We also provide forum channels that enable you to communicate with the lecturer and peers, as well as to share your experiences.

Learning duration

The course is divided into multiple learning units of 10 hours each. Participants can learn the individual learning content on their own schedule. In addition, this course has fixed dates for virtual seminars and the exam.

Course certificate & confirmation of participation

The High-Performance Computing Center (HLRS) issues participants a confirmation of participation if they have joined all seminars and hand in at least 50% of the assignments, as well as a course certificate if they have passed the exam at the end of the course.

Technical requirement
  • Stable Internet connection so you can access and download the learning materials.
  • Access to video conferencing tool with camera and microphone for participation in regular seminars.

Contact

Lucas Jordan phone 0711 685 87206, training(at)hlrs.de

HLRS Training Collaborations in HPC and AI

HLRS is part of the Gauss Centre for Supercomputing (GCS), together with JSC in Jülich and LRZ in Garching near Munich. SIDE is the German National Competence Centre (NCC) for High-Performance Computing. HLRS is also a member of the Baden-Württemberg initiative bwHPC
Since 2025, HLRS has been coordinating one of the AI Factories of the EuroHPC JU: HammerHAI

Further courses and training team

See the training overview and the Supercomputing Academy pages.
See also information about the HLRS training department and staff.

Related training
All training

Nov 20 - Dec 05, 2025

Hybrid, Stuttgart

English

Feb 10 - 12, 2026

Hybrid, Stuttgart

English

Mar 23 - 27, 2026

Hybrid, Stuttgart

English