SDS 417: Advanced Computer Architectures
Course Title |
Advanced Computer Architectures |
||||||
Course Code |
SDS 417 |
||||||
Course Type |
Elective |
||||||
Level |
Master’s |
||||||
Year / Semester |
1st / 2nd (subject to change) |
||||||
Instructor’s Name |
Giannis Koutsou |
||||||
ECTS |
10 |
Lectures / week |
1 (2h) |
Laboratories / week |
1 (1h) |
||
Course Purpose and Objectives |
To advance understanding of High Performance Computing architectures and teach students to design and optimize algorithms suitable for best performance. |
||||||
Learning Outcomes |
Students will be taught how to benchmark parallel applications and implement optimization strategies taking into account the underlying computing architecture. |
||||||
Prerequisites |
SDS 402 |
Requirements | - | ||||
Course Content |
Advanced HPC architectures: Features of modern HPC hardware including node designs, interconnects, accelerators and multi-core CPUs. Interactions between software performance and the system. Algorithms to make use of particular hardware constraints. Advanced parallel programming and optimisation: Advanced techniques for programming multi-core computers, programming models (Shared memory and MPI), issues arising from parallel I/O, portable data formats, advanced MPI programming, advanced OpenMP programming, floating-point and memory optimizations (vector intrinsics, memory storage layouts), accelerator programming (GPUs, Xeon Phi). Methods to analyse the performance of largescale numerical software on parallel computers, models describing the scaling features of software, comparison to real performance data from multi-core systems. Applications: As demonstration of the methodology these techniques will be applied to examples from the physical sciences and engineering by engaging the appropriate experts and utilizing existing optimized libraries. |
||||||
Teaching Methodology |
Lectures, exercises |
||||||
Bibliography |
Edward Kandrot and Jason Sanders, “CUDA by example”, ISBN-13: 9780131387683 J. Hennessey, D. Patterson "Computer Architecture: a quantitative approach” 5th edition, Morgan-Kaufmann Publishers. |
||||||
Assessment |
25% coursework, 75% exam |
||||||
Language |
English |