School of Science
Department of Physics
18210
18210 Development and Evaluation of Parallel Applications
Course Webpage: https://eclass.uoa.gr/courses/D36/
Course Content
- Introduction to parallel computing (need and challenges).
- Parallel hardware (SIMD and MIMD systems, GPUs, interconnection networks, cache coherence and consistency, shared and distributed memory systems).
- Parallel software (processes, multitasking, threads, synchronization and communication in shared and distributed memory systems).
- Speedup, performance, cost, and scalability metrics.
- Development of parallel programs (parallel application design and evaluation methodology). Data parallelism and task parallelism.
- Programming shared memory systems with Pthreads and OpenMP, programming distributed memory systems with MPI, programming graphics processing units (CUDA), and their hybrid combination.