Course ObjectiveYou will
- be introduced to the domain of High Performance Computing (HPC)
- learn about design methods for parallel algorithms
- compare different parallel computer architectures
- analyze performance of network topologies
- develop basic familiarity with a range of parallel programming
environments and languages
- gain insight into some selected parallel applications
Course ContentThis lecture discusses how programs can be written that run in parallel
on a large number of processors, with the main goal of reducing
execution time. The class has a brief introduction into parallel
(architectures). The focus of the class, however, is on programming
methods, languages, and applications. Both traditional techniques (like
MPI message passing) and more advanced techniques like parallel object-
oriented approaches from the Java ecosystem or dedicated HPC programming
languages will be discussed.
In particular, high-productivity concepts are discussed in more detail
with Cray's language Chapel as an example. Several parallel applications
discussed, including nearest-neighbor stencil computations, N-body
simulations and search algorithms.
Teaching MethodsLectures (4 hours per week), given by prof.dr.ir. Henri Bal and dr.
Interested students may also obtain an account on our DAS research
cluster and do simple experiments with MPI.
There is also a separate Parallel Programming
Practical (6 ECTS) in P2 and P3 whose aim is to complement the contents
of this course with practical skills and experience. That course makes
heavy use of DAS.
Method of AssessmentWritten exam
LiteraturePapers will be made available on Canvas
Target AudiencemAI, mBIO, mCS, mPDCS, m Computational Science
prof.dr.ir. Henri Bal
dr. Pieter Hijma
|Language of Tuition||English|
|Faculty||Faculty of Science|
|Course Coordinator||prof. dr. ir. H.E. Bal|
|Examiner||prof. dr. ir. H.E. Bal|
prof. dr. ir. H.E. Bal
You need to register for this course yourself
Last-minute registration is available for this course.
This course is also available as: