.

Courses, Workshops, Tutorials and Training

LRZ Workshops and Tutorials for High Performance Computing

For the efficient usage of HPC computing architectures, knowledge in the area of parallel programming and code optimization is indispensable.LRZ offers regular training courses on various subjects in HPC. In this area LRZ collaborates with the HPC group of the  Erlangen Computing Centre and the Competence Network for Scientific High Performance Computing in Bavaria,  and the partners within the Gauss Centre for Supercomputing

Programming with Fortran

Date: Monday, February 4 - Friday, February 8, 2013, 9:00-18:00
Location: LRZ Building, Garching/Munich, Boltzmannstr. 1, Kursraum 2 (H.U.010)
Contents: This course is targeted at scientists with little or no knowledge of the Fortran programming language, but need it for participation in projects using a Fortran code base, for development of their own codes, and for getting acquainted with additional tools like debugger and syntax checker as well as handling of compilers and libraries. The language is for the most part treated at the level of the Fortran 95 standard; features from Fortran 2003 are limited to improvements on the elementary level. Advanced Fortran features like object-oriented programming or coarrays will be covered in a follow-on course in autumn.

To consolidate the lecture material, each day's approximately 4 hours of lecture are complemented by 3 hours of hands-on sessions.

Course participants should have basic UNIX/Linux knowledge (login with secure shell, shell commands, basic programming, vi or emacs editors).

Language: English
Teachers: R. Bader (LRZ), A. Block (LRZ, Make talk and exercises)
Registration: Please register via the LRZ registration form (Please choose course HFOR1W12)

Parallel Programming of High Performance Systems

Date: Monday, March 4 - Friday, March 10, 2013, 9:00-18:00
Location:

LRZ Building, University campus Garching, near Munich.

Contents: This course, a collaboration of Erlangen Regional Computing Centre (RRZE) and LRZ, is targeted at students and scientists with interest in programming modern HPC hardware, specifically the large scale parallel computing systems available in Jülich, Stuttgart and Munich.

Each day is comprised of approximately 4 hours of lectures and 3 hours of hands-on sessions.

Day 1

  • Introduction to High Performance Computing (Weinberg)
  • Secure shell (Brietzke)
  • Source code versioning with SVN (Guillen)
  • Handling console and GUI based interfaces (Weinberg)
  • Building programs with GNU MAKE (Guillen)

Day 2

  • Basic parallel programming models: elements of MPI and OpenMP (Weinberg)
  • Processor architectures (Hager)

Day 3

  • Principles of code optimization: unrolling, blocking, dependencies, C++ issues, bandwidth issues, performance projections (Hager)
  • Basics of software engineering (Guillen)
  • Advanced MPI programming (Wittmann)

Day 4

  • Advanced OpenMP programming (Weinberg)
  • Performance Libraries (Weinberg)
  • Parallel architectures: multi-core, multi-socket, ccNUMA, cache coherence and affinity, tools for handling memory affinity (Treibig)
  • Parallel algorithms: data parallelism, domain decomposition, task parallelism, master-worker, granularity, load balancing, scalability models (Treibig)

Day 5

  • Processor-specific optimization strategies: compiler switches, avoiding cache thrashing, exploiting SIMD capabilities (Treibig)
Prerequisites Good working knowledge of at least one of the standard HPC languages: Fortran 95, C or C++.
Language: English
Teachers: G. Hager, J. Treibig, M. Wittmann (RRZE), G. Brietzke, C. Guillen, V. Weinberg (LRZ)
Registration: Please register via the LRZ registration form (Please choose course HPPP1W12)

PRACE PATC Course: Advanced Topics in High Performance Computing

provisional Date: Monday, March 18 - Thursday, March 21, 2013, 9:00-18:00
Location: LRZ Building, University campus Garching, near Munich
Contents: In this add-on course to the parallel programming course special topics are treated in more depth, in particular performance analysis, I/O and PGAS concepts. It is provided in collaboration of Erlangen Regional Computing Centre (RRZE) and LRZ.

Each day is comprised of approximately 5 hours of lectures and 2 hours of hands-on sessions.

 Day 1

  • Intel Tracing Tools: MPI tracing and correctness checking
  • Intel Threading tools for OpenMP correctness checking and profiling
  • Profiling on SGI Altix systems: histx and lipfpm
  • Introduction to Scalasca

 Day 2

  • Parallel application performance analysis with Scalasca
  • Parallel input/output with MPI-IO

 Day 3

  • I/O tuning on high performance file systems
  • Portability of binary files, big/little endian issues
  • Using I/O libraries (pNetCDF, HDF5)

Day 4

  • Introduction to the PGAS languages Coarray Fortran and UPC: Partitioned global address space languages have emerged as an alternative to other parallel programming models, promising a shorter development cycle due to improved programmability while keeping the performance level on par with MPI. This course introduces the parallel  facilities integrated into the Fortran language (coarrays) and the C language (unified parallel C), respectively. A hands-on session allows to experiment with the new concepts, using prototype implementations on LRZ's HPC systems.
Prerequisites Good MPI and OpenMP knowledge as presented in the course "Parallel programming of High Performance Systems" (see above).
Language: English
Teachers: G. Hager (RRZE), R. Bader (LRZ), A. Block (LRZ) et al.
Registration: Please register via the LRZ registration form (Please choose course HPAR1W12)

Eclipse: C/C++/Fortran programming

provisional Date: March 28, 2013, 9:00-15:30
Location: LRZ Building, University campus Garching, near Munich. LRZ course room H.U.002.
Contents: This course is targeted at scientists who wish to be introduced to programming C/C++/Fortran with the Eclipse C/C++ Development Tools (CDT), or the Photran Plugin. Topics covered include:
  • Introduction to Eclipse IDE
  • Introduction to CDT
  • Hands-on with CDT
  • Short introduction and demo of Photran
Prerequisites Course participants should have basic knowledge of the C and/or C++/Fortran programming languages.
Language: English
Teachers: Carla Guillen, Reinhold Bader
Registration:

Please register via the LRZ registration form (registration is not yet open)

PRACE PATC Course: Introduction to SuperMUC- the new Petaflop Supercomputer at LRZ

Date: July 8-11, 2013 10:00 - 17:00
Location: LRZ Building, University campus Garching, near Munich (Lecture room H.E.009)
Contents:

This four-day workshop gives an introduction to the usage of the new Petaflop class Supercomputer at LRZ, SuperMUC. The first three days of this are dedicated to presentations by Intel on their software development stack (compilers, tools and libraries); the remaining day will be comprised of talks and exercises delivered by IBM and LRZ on usage of the IBM-specific aspects of the new system (IBM MPI, LoadLeveler, HPC Toolkit) and recommendations on tuning and optimizing for the new system.

The following schedule is preliminary and may undergo changes.

Monday schedule:
  • Introduction to the x86 Westmere and Sandy Bridge Processor Architecture
  • Usage of Intel Compilers: switches, optimization, profiling, OpenMP, advanced features
  • Usage of the Intel debugger
  • Explicit and compiler-directed vectorization with SSE and AVX

 Tuesday schedule:

  • Programming for NUMA
  • Intel Cilk Plus
  • Fortran standard support and extensions in Intel Fortran
  • Intel Inspector XE (correctness checking for memory and threading)
  • Threading Building Blocks, OpenCL and other parallel programming models
  • Static Security Analysis
  • Performance Libraries (MKL, IPP)
  • VTune Amplifier XE (performance analysis)

 Wednesday schedule:

  • Intel Performance Monitoring Unit (PMU) and other performance analysis tools
  • Intel Cluster Tools Overview and Usage
  • Intel Many Integrated Core (MIC) Architecture
  • A case study illustrating the use of the Intel toolchain

Thursday schedule:

  • Using LoadLeveler for batch queuing
  • IBM's parallel environment
  • Performance Tools (High Performance Toolkit, Eclipse User Interface) including a demonstration.
Prerequisites Participants should have good knowledge of HPC-related programming, in particular MPI, OpenMP and at least one of the languages C, C++ or Fortran.
Language: English
Teachers: Heinz Bast, Georg Zitzlsberger (Intel), Achim Bömelburg, Florian Merz, Christoph Pospiech (IBM), LRZ staff
Registration: Please register via the LRZ registration form (select course HMUC1S13)

Compact course: Iterative linear solvers and parallelization

Date: Monday, September 2 - Friday, September 6, 2013, 8:30-17:30
Location: LRZ Building, Garching/Munich, Boltzmannstr. 1
Contents: The focus of this compact course is on iterative and parallel solvers, the parallel programming models MPI and OpenMP, and the parallel middleware PETSc.

Different modern Krylov Subspace Methods (CG, GMRES, BiCGSTAB ...) as well as highly efficient preconditioning techniques are presented in the context of real life applications.

Hands-on sessions (in C and Fortran) will allow users to immediately test and understand the

  • basic constructs of iterative solvers
  • the Message Passing Interface (MPI)
  • the shared memory directives of OpenMP.

This course is organized by the University of Kassel, the high performance computing centre of Stuttgart (HLRS) and IAG.

Language: German
Teachers: Prof. Dr. Andreas Meister from Uni. KasselProf. Dr. Bernd Fischer from Uni. Lübeck, and Dr. Rolf Rabenseifner from HLRS
Registration: Please register via the HLRS online form
Course Fee: Students without Diploma/Master: 40 EUR
Students with Diploma/Master (PhD students) at German universities: 80 EUR
Members of German universities and public research institutes: 80 EUR

Members of universities and public research institutes outside Germany: 120 EUR
others: 400 EUR
(includes handouts and drinks at coffee breaks, will be collected on the first day of the course, cash only)

Further details: available from the HLRS page for the event

Advanced Fortran Topics

Date: Monday, September 16 - Friday, September 20, 2013, 9:00-18:00
Location: LRZ Building, Garching/Munich, Boltzmannstr. 1
Contents: This course is targeted at scientists who wish to extend their knowledge of Fortran beyond what is provided in the Fortran 95 standard. Some other tools relevant for software engineering are also discussed. Topics covered include
  • object oriented features
  • design patterns
  • generation and handling of shared libraries
  • mixed language programming
  • standardized IEEE arithmetic and exceptions
  • I/O extensions from Fortran 2003
  • parallel programming with coarrays
  • source code versioning system (subversion)

To consolidate the lecture material, each day's approximately 4 hours of lecture are complemented by 3 hours of hands-on sessions.

Prerequisites Course participants should have basic UNIX/Linux knowledge (login with secure shell, shell commands, simple scripts, editor vi or emacs). Good knowledge of the Fortran 95 standard is also necessary, such as covered in the February course at LRZ.
Language: English
Teachers: R. Bader, A. Block
Registration: Please register via the LRZ registration form (Please choose course HFTN1S13)


Other Courses

Courses within the Gauss Centre for Supercomputing

Course offered by PRACE (Partnership for Advanced Computing in Europe)

General LRZ courses


Online Resources and Lecture Notes of Previous Courses

Parallel programming

Workshop "Introduction to SuperMUC"

  • the materials for this course are password protected. Please type the command get_manuals_passwd after logging into one of the LRZ HPC systems to obtain the necessary authentication information, or contact the Service Desk.

General programming