Programming of Parallel Computers
Syllabus, Master's level, 1TD480
This course has been discontinued.
- Code
- 1TD480
- Education cycle
- Second cycle
- Main field(s) of study and in-depth level
- Computational Science A1N, Computer Science A1N, Technology A1N
- Grading system
- Pass with distinction (5), Pass with credit (4), Pass (3), Fail (U)
- Finalised by
- The Faculty Board of Science and Technology, 12 May 2009
- Responsible department
- Department of Information Technology
Entry requirements
120 credits where 30 credits mathematics, Computer Programming II and Scientific Computing I or the equivalent is covered.
Learning outcomes
To pass, the student should be able to
- describe different types of parallel computers;
- program different types of parallel computers, from multicore LapTops to large scale PC clusters, i.e. handle different programming models
- construct parallel algorithms, i.e. identify parallelism in a given algorithm as well as implement that particular parallelism
- identify factors that put constraints on the parallelism in a given program or algorithms
- choose the appropriate parallel programming model factoring in conditions as computer architecture, application and efficiency
Content
The course focus on different types of parallel computers, from multicore LapTops to large scale PC clusters. Classification of parallel computers. Different forms of memory organisation, processors, networks, program control. Different forms of parallelism. Programming models: Programming in a local name space with MPI and in a global name space with OpenMP and Pthreads (Posix-threads). Grid computing and middleware. Performance measurements: speedup, efficiency, flops. Parallelisation of basic algorithms in numerical linear algebra: matrix-vector multiplication and matrix-matrix multiplication. Parallelisation of algorithms in areas such as solution of dense systems of linear equations, graph algorithms or searching and sorting.
A project is included in the course.
Instruction
Lectures, laboratory work and compulsory assignments.
Assessment
Written examination at the end of the course and approved compulsory assignments.