Advanced Computational Systems: Code Optimization Techniques and Multitask Architectures

Code 632
Semester Fall
Class Hours - Lab Hours 3 - 0
Lecturers Georgios Goumas


The goal of this course is to study the architectural features of modern processors and to efficiently execute code on state-of-the-art parallel computing platforms. We study all known code optimization techniques to accelerate the execution of the most time-consuming segments, as well as exploiting parallelism that can be found in various parts of the programs. In detail, the contents include: Modern Processors: Multi-Threading, Superscalar, Memory Hierarchies. Code Optimization Techniques: Dependence Analysis, Loop Transforms, Branch Prediction, Data Transformations. Cache & TLB optimization, Multi-core Programming for multi core and multi-processor systems.