printlogo
http://www.ethz.ch/index_EN
Welcome
 
print
  

Advanced Parallel Computing for Scientific Applications

Open Positions

The MOSAIC Group currently has 4 open positions for 2 PhD students, a Postdoc, and a scientific software developer.

>> More information...

BioImage Informatics 2012

MOSAIC is co-organizing the 2012 edition of the BioImage Informatics conference, featuring over 20 prominent invited speakers from this rapidly growing area. The meeting will take place September 16-19, 2012, in Dresden (Germany).

>> To the conference web site ...

Comp. Biol. Dresden

The MOSAIC Group is moving the Dresden in summer 2012. The Web site Computational Biology Dresden is online.

With the growing complexity of computer simulations and the availability of multi-core processors, parallel computing becomes important to all fields of science and technology. This course covers parallel high-performance computing on all levels: from the basics to high-level parallelism and grid computing. It is a hands-on course with practical programming exercises.

Contents
Parallel programming paradigms, vectorization, shared-memory and multi-core programming, OpenMP, multi-threading, the Message Passing Interface (MPI), non-determinism in parallel programs, parallel debugging, domain decomposition schemes, communication scheduling methods, parallel linear algebra and parallel solvers, data structures and abstractions, parallel algorithms and libraries, grid computing, resource allocation models.

Learning goals
- Choosing the proper programming paradigm for an application
- Shared memory implementation using OpenMP
- Distributed memory implementation using MPI
- Knowing parallel algorithms, data structures, and numerical solvers
- Implementing loosely coupled applications on a grid of workstations

Lecture language: ENGLISH

Time table and study material
The lecture takes place Tuesdays, 09-12h, ML F 38. (Start: Sep 28, 2010)
The exercises take place Tuesdays 13-15h, HG E 21. (Start: Sep 28, 2010)

Please notice that there is NO lecture and NO exercise on September 21.

Please find below the lecture syllabus. Teaching is shared between Prof. Ivo Sbalzarini (IS) and Prof. Peter Arbenz (PA). Lecture slides and teaching material will be posted here during the semester:

week 1, 28.9.2010 (IS): admin/intro; parallel programming paradigms; performance evaluation; definitions; vectorization and pipelining; loop unrolling

Course material: 1 slide per page, 3 slides per page
Self-test questions

week 2, 5.10.2010 (IS): MPI 1: message passing basics; point-to-point communications; collective communications

Course material: 1 slide per page, 3 slides per page
Self-test questions

week 3, 12.10.2010 (PA): shared memory programming model; threads vs. processes; generation/administration/coordination of threads

Course material: 1 slide per page, 4 slides per page
Self-test questions

week 4, 19.10.2010 (PA): basic OpenMP, loop vectorization on multi-cores, the fork-join principle of OpenMP; Variations on the parallel construct; shared vs. private variables; beyond loop-parallelism

Course material: 1 slide per page, 4 slides per page
Self-test questions

week 5, 26.10.2010 (PA): Hybrid multi-threading/multi-processing by combining OpenMP with MPI

Course material: 1 slide per page, 4 slides per page (updated!)
Self-test questions

week 6, 2.11.2010 (PA): parallel matrix-vector product

Course material: 1 slide per page, 4 slides per page
Self-test questions

week 7, 9.11.2010: guided tour to the HPC center of ETH

week 8, 16.11.2010 (IS): MPI 2: derived data types; data packing/unpacking; process groups; communicators; MPI topologies; non-determinism; error handling; parallel debugging.

Course material: 1 slide per page, 3 slides per page
Self-test questions

week 9, 23.11.2010 (IS): domain decomposition; load balancing; communication scheduling; graph partitioning algorithms

Course material: 1 slide per page, 3 slides per page
Self-test questions

week 10, 30.11.2010 (PA): parallel iterative solvers; PCG/GMRES; Newton iteration

Course material: 1 slide per page, 4 slides per page

week 11, 7.12.2010 (IS): parallel data and operator abstractions; parallel algorithms 1: sorting

Course material: 1 slide per page, 3 slides per page
Self-test questions

week 12, 14.12.2010 (IS): parallel algorithms 2: tree search, distributed termination detection, fast N-body solvers; overview of parallel libraries (ScaLAPACK, PetSc, POOMA, PPM, ALPS)

Course material: 1 slide per page, 3 slides per page
Self-test questions

week 13, 21.12.2010 (IS): grid computing; performance indicators; resource allocation; the Gamma model

Course material: 1 slide per page, 3 slides per page
Self-test questions

 

Please find below exercise sheets and material needed for or shown in the exercises:

week 1: Exercise 01, Brutus guide, Terminal guide, Tutorial, Solution 01

week 2: Exercise 02, Tutorial, Solution 02

week 3: Exercise 03, Source 03, Tutorial, Solution 03

week 4: Exercise 04, Source 04, Tutorial, BLAS quick reference, OpenMP API , Solution 04

week 5: Exercise 05, Source 05, Tutorial 05, Solution 05

week 6: Exercise 06, Source 06, Tutorial 06/07, Solution 06

week 7: Exercise 07, Source 07, Solution 07 (pdf), Solution 07 (src)

week 9: Exercise 09, Tutorial 09, Solution 09

week 10: Exercise10, Source 10, Tutorial 10, Solution 10

week 11/12: Exercise 11/12, Tutorial 11 (updated), Solution 11 (pdf),, Solution 11 (src)

week 13 (opt): Exercise 13, Tutorial 13, Solution 13

Teaching assistance
For questions regarding the exercises please contact Janick Cardinale.

 

Wichtiger Hinweis:
Diese Website wird in älteren Versionen von Netscape ohne graphische Elemente dargestellt. Die Funktionalität der Website ist aber trotzdem gewährleistet. Wenn Sie diese Website regelmässig benutzen, empfehlen wir Ihnen, auf Ihrem Computer einen aktuellen Browser zu installieren. Weitere Informationen finden Sie auf
folgender Seite.

Important Note:
The content in this site is accessible to any browser or Internet device, however, some graphics will display correctly only in the newer versions of Netscape. To get the most out of our site we suggest you upgrade to a newer browser.
More information

© 2012 ETH Zurich | Imprint | Disclaimer | 25 January 2011
top