University of Heidelberg

This is an archive of our old website and not updated anymore

The current website can be found at conan.iwr.uni-heidelberg.de

Sorry, this page is only available in german.

Course Parallel High-Performance Computing

Location and time:

  • L Tu 9.00-11.00 in INF 368 (IWR) / 532, Th 9.00-11.00 in INF 368 (IWR) / 532
  • E Th 14.00-16.00 in INF 350 (OMZ) / U012

Course Slides

All lecture slides are accessible here
Simulation on High-Performance Computers (pdf)
Parallel Computing Architecture I (pdf)
Parallel Computing Architecture II (pdf)
Parallel Computing Architecture III (pdf)
Parallel Programming Models I (pdf)
Parallel Programming Models II (pdf)
Parallel Programming Models III (pdf)
Distributed Memory Programming Models I (pdf)
Distributed Memory Programming Models II (pdf)
Distributed Memory Programming Models III (pdf)
Distributed Memory Programming Models IV (pdf)
Evaluation of Parallel Algorithms (pdf)
Foundations of Parallel Algorithms (pdf)
Algorithms for Dense Matrices I (pdf)
Algorithms for Dense Matrices II (pdf)
Algorithms for Dense Matrices III (pdf)
Particle Methods I + II (pdf)
Parallel Sorting Methods (pdf)
Programming of Graphics Cards (pdf)
Iterative Solution of Sparse Equation Systems (pdf)
Solution of Tridiagonal and Sparse Linear Equation Systems (pdf)

Topics

  • Hardware

    • (Scalable) computer architecture: SMP, NUMA, MIMD
    • Realizations: Some architectures in detail
  • Programming models

    • Programming models: OpenMP, MPI, PThreads
    • Fundamental numerical algorithms: matrix multiplication
  • Algorithms

    • Performance evaluation: Efficiency, speedup, scalability
    • Parallel sorting
    • Dense und sparse filled equation systems
  • Applications

    • Parallel solution methods: Multigrid and domain composition
    • Parallel numerical algorithms: Particle methods
    • Parallel Numerical applications: neuroscientific computing, porous media flow

Exercises

Overview of C++ for Scientific Computing (pdf)

Submission of solution is performed via email.
Please consider the following points carefully:
Submit one solution of the exercise sheets for your group.
Formatting should be done as LaTex or word/openoffice document.
Add also source code, tables, figures to the document.
Explain your concepts otherwise I might miss the point.
You should attach to the email just a single document or archive.

Exercise sheet 1 (pdf)
Exercise sheet 2 (pdf) [Remarks for time measurement] [Remarks for Plotting of data]
Exercise sheet 3 (pdf)
Exercise sheet 4 (pdf) [OpenMP example program]
Exercise sheet 5 (pdf)
Exercise sheet 6 (pdf) [archive with examples of C++ threads ] [Hints related to ThreadTools]
Exercise sheet 7 (pdf)
Exercise sheet 8 (pdf) [MPI-ring] [sequential Pi] [Sequential Jacobi method] [Hints to use MPI in the computer pool]
Exercise sheet 9 (pdf) [Sierpinski carpet] [Mandelbrot set] [Output file io.hh]
Exercise sheet 10 (pdf) [Sequential matrix multiplikation][tools.h]
Exercise sheet 11 (pdf) [N-body problem] [visualization with Paraview]
Exercise sheet 12 (pdf)

Working from Remote in the Pool

Login from a linux computer with redirection of graphics output on the local client:


  ssh -Y pHPCXXX@pool.iwr.uni-heidelberg.de
For XXX is to use user identification. After logging in you are at machine cip53. To avoid that not all users share this single computer, it is meaningful, to login to another computer. These have the names cip01 to cip52:

  ssh -Y pHPCXXX@cipYY
Proposal: Everyone works on the machine that number YY matches the last two digits of the user identification XXX.

Login from a windows computer with redirection of graphical output is somewhat more complex, since you need an X-Server for Windows. The simplest possibility is to install the Windows-X-Server implementation xming as well as an ssh-client putty.

Literature


Revision: 2242     Last changed: 2016-10-07 11