>
Course Unit Title Course Unit Code Type of Course Unit Level of Course Unit Year of Study Semester ECTS Credits
Parallel and Distributed Numerical Algorithms and Tools BTM602 Elective Doctorate degree 1 Fall 8

Name of Lecturer(s)

Prof. Dr. Hikmet Hakan GÜREL
Associate Prof. Dr. Süleyman EKEN
Assistant Prof. Dr. Seda BALTA

Learning Outcomes of the Course Unit

1) Distinguishes parallel computers.
2) Applies it programming for shared memory structures.
3) Applies it programming for distributed memory structures.
4) Evaluates the performance of parallel programs.
5) Develops parallel and distributed algorithms.

Program Competencies-Learning Outcomes Relation

  Program Competencies
1 2 3 4 5 6 7 8 9 10 11
Learning Outcomes
1 High High High High No relation No relation No relation No relation No relation No relation No relation
2 High High High High No relation No relation No relation No relation No relation No relation No relation
3 High High High High No relation No relation No relation No relation No relation No relation No relation
4 High High High High No relation No relation No relation No relation No relation No relation No relation
5 High High High High No relation No relation No relation No relation No relation No relation No relation

Mode of Delivery

Face to Face

Prerequisites and Co-Requisites

None

Recommended Optional Programme Components

Not Required

Course Contents

Message passing computing (MPI): Communicators and groups, derived data types, virtual topologies, parallel I / O, remote memory access and dynamic memory management. Graph theory. Area parsing and graphic segmentation algorithms. Numerical Algorithms: Canon, Fox, DNS Algorithms. Direct Methods: Gauss Elimination, LU Decomposition, QR factoring. Recursive methods: Jacobi, Gauss-Seidel, SOR. Red-Black ranking. Thomas algorithm. Parallel algorithms for Ordinary and Partial Differential Equations: Multiple-staining algorithms. Hybrid programming: OpenMP + MPI. Non-stationary iterative methods: CG and GMRES.

Weekly Schedule

1) Message Passing Computing: Communicators and Groups, Derived Data Types.
2) Virtual Topologies
3) Parallel I/O, Remote Memory Access and Dynamic Memory Management
4) Graph Theory
5) Domain Decomposition and Graph Partitioning Algorithms
6) Numerical Algorithms: Matrix Multiplications Canon, Fox, DNS Algorithms
7) Dense Matrix Operations: Direct Methods Gauss Elimination, LU Decomposition, Factorizations
8) Midterm Exam
9) Iterative Methods and Sparse Matrices: Jacobi, Gauss-Seidel, SOR, Red-Black Ordering, Thomas Algorithm
10) Algorithms for ODE’s and PDE’s based on Finite Difference: Multi-coloring Algorithms
11) Algorithms for ODE’s and PDE’s based on Finite Difference: Multi-coloring Algorithms II
12) Multi-level Programming: OpenMP+MPI and OpenMPI
13) Non-Stationary Matrix Methods: CG and GMRES
14) Performance İssues and Parallel Profiling
15) Performance İssues and Parallel Profiling II

Recommended or Required Reading

1- Parallel Programming in C with MPI and OpenMP, Michael J. Quinn, Mc Graw Hill, 2003.
2- Using OpenMP, Barbara Chapman et al., MIT press, 2008.
3- Parallel Algorithms, Casanova H., Legrand A. and Robert Y., CRC Press, 2009.
4- Parallel Algorithms for Matrix Computations, K. A. Gallivan at al., SIAM, 1990
5- Principles of Parallel Programming, Calvin Lin and Lawrence Snyder, Pearson International, 2009.

Planned Learning Activities and Teaching Methods

1) Lecture
2) Question-Answer
3) Discussion
4) Drill and Practice
5) Modelling
6) Group Study
7) Simulation
8) Case Study
9) Lab / Workshop
10) Self Study
11) Problem Solving
12) Project Based Learning


Assessment Methods and Criteria

Contribution of Semester Studies to Course Grade

50%

 

Number

Percentage

Semester Studies

Quiz

1

50%

Project

1

50%

 

Contribution of Final Examination to Course Grade

50%

Total

100%

Language of Instruction

Turkish

Work Placement(s)

Required