You are here: DASMOD > SummerSchool > SummerSchool2006Ruede


Start of topic | Skip to actions

DASMOD Summer School Lecture Series

Ulrich Rüde and Jan Treibig: "Architecture Aware Programming"

Contents

The main focus of this class is on techniques for enhancing the performance of compute-intensive codes on modern computer architectures. For a given algorithm, these techniques comprise the minimization of the number of operations, exploiting instruction level parallelism, as well as the optimization of memory accesses by improving the cache utilization and respecting the hierarchical memory design of modern architectures.

Preliminary List of Topics:

1. Introductory Examples

2. Review of Computer Architecture

Instruction Level Parallelism, Pipelining, Superscalar Design, Memory Hierarchy, memory types, Instruction Set Architecture (ISA), prefetching, SIMD instructions

3. Examples of Current Computer Architectures

What are all these transitors doing on the chip? -x86-64: Opteron, Pentium 4,-IA64: Itanium2

4. From high level language to the ISA implementation

problems, pitfalls, optimizing compilers (and when they fail)

5. Techniques for improving memory performance

Climbing over the memory wall by blocking, prefetching, padding, memory layout

6. Techniques for improving floating point performance

loop overhead, instruction scheduling, SIMD ... Can we reach peak performance?

7. Tools: Looking inside the processor

Debugger, Profiling, Hardware counters, Performance Monitors

8. The art of efficient programming

Guidelines for programming on modern architectures (x86)

9. & 10. Case Studies

Memcpy, Vector triade, Gauss Seidel Iteration, Multigrid, Matrix Multiplcation?

Lecture Notes (pdf)

Architecture Aware Programming

Related research project

http://www10.informatik.uni-erlangen.de/Research/Projects/DiME/ *

r2 - 07 Aug 2006 - UlrichNoegel

Copyright © University of Kaiserslautern, 2009. All material on this website is the property of the respective authors.
Questions or comments? Contact DASMOD webmaster.