o Parallel Programming WS 18/19


Parallel Programming


When: Winter semester 2018-19

CAMPUS #: 18ws-23895

Contact: Prof. Paolo Bientinesi, Markus Hoehnerbach

Language: English


Office hours

  • Prof. Bientinesi: Tuesdays, 11am-1pm, by appointment.
    AICES R432 (Rogowski Building - Schinkelstrasse 2)


Prerequisites

Knowledge of the C programming language. You are supposed to know

  • the basic datatypes; how to define and use data structures (structs)
  • how to operate on pointers and memory addresses
  • how to allocate and free dynamic memory (malloc, free)
  • how to declare and call (recursive) functions
  • how to pass arguments to functions "by value" and "by address"
  • how to use library functions; this means including headers, using the provided data structures, calling functions, ...

Topics

  • Principles of parallel performance
  • Parallel architectures
  • Patterns of parallel programming
  • Processes and threads
  • Open MP
    • Execution model
    • Work sharing
    • Loop-level parallelism
    • Synchronization
  • Message Passing Interface
    • Collective communication
    • Point-to-Point communication
    • Derived data types

Textbook

  • Parallel Programing in Science and Engineering, by Victor Eijkhout [Repository] [HTML]

Lectures

  • Mondays 16:00 - 16:45 HKW 5 (1132|603)
  • Fridays 16:30 - 18:00 1080|005 (R 5), Schinkelstra├če 1, Templergraben 51

Exercises

  • Mondays 16:45 - 18:30 HKW 5 (1132|603)

Extra Lectures

  • Mondays 12:15 - 14:30 GRS 001, Schinkelstra├če
  • 29.10 - Performance metrics [PDF]
  • 05.11 - MPI, part 1
  • 21.01

Lectures

  • 12.10 - Presentation [PDF]. Introduction [PDF].
  • 15.10 - Double lecture. Architectures [PDF], Dependencies [PDF].
  • 19.10 - Performance metrics [PDF]
  • 22.10 - Guest lecture
  • 26.10 - Scalability, Amdahl's law [PDF] [Files]
  • 29.10 - Double lecture [PDF]
  • 02.11 - Processes & Threads. Shared memory vs. distributed memory [PDF]
  • 05.11 - MPI - part 1 [PDF]
  • 06.11 - 13:00: Guest lecture @ Rogowski Building, room 115. Heinrich Bockhorst (Intel): "One-Sided Communication, MPI on Threads, Overlap of Communication and Computation. Old MPI topics - New Answers?"
  • 09.11 - rescheduled
  • 12.11 - rescheduled
  • 16.11 - rescheduled
  • 19.11 -
  • 23.11 -
  • 26.11 -
  • 30.11 -
  • ...
  • 21.01 - Different time and room! → 12:15 - 14:30, GRS 001

Exercise sessions


Exams

  • 06.02.2018, 13:00 - 16:00.
  • 25.03.2018, 10:30 - 13:30.