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, 30 August 2018
- 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. Proficiency in English equivalent to the Swedish upper secondary course English 6.
Learning outcomes
On completion of the course, 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). Overview of other programming models and implementations, such as UPC (Unified Parallel C) and MATLAB Parallel Toolbox. Graphics card programming. Performance measurements: speedup, efficiency, flops. Parallelisation of basic algorithms in numerical linear algebra and sorting: matrix-vector multiplication, matrix-matrix multiplication and Quick sort. Parallelisation of algorithms in one of the areas solution of systems of linear equations, partial differential equations, molecular dynamics (N-body simulation) or graph algorithms.
Instruction
Lectures, laboratory work and compulsory assignments. Project. Guest lecture.
Assessment
Written examination at the end of the course, approved compulsory assignments and project.
If there are special reasons for doing so, an examiner may make an exception from the method of assessment indicated and allow a student to be assessed by another method. An example of special reasons might be a certificate regarding special pedagogical support from the disability coordinator of the university.