Parallel programmingFDA101, 2004VTMasters level course
|
|
Course plan
No of lectures
14 lectures and 2 lessons of 2h each.
32 hours supervised programming exercises (labs).
Recommended for
IDA PhD students interested in parallel processing,
systems programming and tools,
parallel computer architecture,
parallel programming languages, scientific computing,
design and analysis of numerical algorithms.
The course was last given
The course is given every year in vt2.
It is aliased to the undergraduate course TDDB78.
Thus there is no lower bound on the number of participants.
Goals
To give knowledge about methods and languages for programming parallel computer
architectures,
together with skills to program such computers.
The course shall also give an overview of how parallel
computers can be used in some application areas,
e.g. image analysis and scientific computations.
Prerequisites
Basic course in programming.
Basic course in data structures and algorithms.
A course in process programming is useful but not required, since
understanding the process concept is assumed. Programming skills in C/C++ are
required.
Organization
This graduate course is aliased to the undergraduate course TDDB78 in vt2.
Thus there is no lower bound on the number of participants.
2p written exam, 2p lab series.
Contents
Parallel computer architecture: memory hierarchies, shared memory and
distributed memory architectures. Vector instructions. Parallel execution
models and programming languages. Performance measurements and enhancement.
Message passing, multithreaded and dataparallel programming. Principles of
dataparallel languages. Time complexity. Scalability. Scheduling of parallel
programs. Grid computing. Tools for parallel programming. MPI (Message passing
interface), HPF (High Performance Fortran) and OpenMP. Basic parallel
algorithms and BLAS (Basic Linear Algebra Subprograms). Application areas.
Parallel solving of equation systems.
The laboratory course gives practical experience in programming parallel
systems (different programming paradigms are used).
Several different parallel computers are used in the lab course, some of which
are located at the National Supercomputer Center (NSC).
Literature
to be announced on the course homepage.
Lecturers
Christoph Kessler (IDA), Lars Elden (MAI).
Examiner
Christoph Kessler
Examination
2p written exam.
2p lab series.
Credit
4p for the entire course.
Comments
Follow-up courses
FDA125 Advanced parallel programming, given in odd years only, next time vt1/2005
Page responsible: Anne Moe