Hide menu

Parallel programming

FDA101, 2004VT
Masters level course

Status Archive
School Computer and Information Science (CIS)
Division SAS
Owner Christoph Kessler
Homepage http://www.ida.liu.se/~TDDB78

IMPORTANT NOTE:
Non-Ph.D.-students should register for the undergraduate course TDDB78 which is equivalent to this course.

  Log in  




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: Director of Graduate Studies