Theme: Computer Architecture
Computer architecture and hardware-software interaction
Typical duration: 2 days
Course code: CA2M
Today, most applications use a single digit percentage of the computing power available. This course is an introduction to how to improve this number.
Training topicsComputer Architecture concepts - from basic to advanced
How software exploits modern hardware
High throughput computing (basics)
We offer a comprehensive overview of current topics in computer architecture - from the basic Von Neumann schema to its modern-day expansions. We explain how to understand hardware-software interaction to take advantage of all available compute hardware. We discuss specific architectural features (such as execution ports, branching algorithms, etc), instruction sets, compilers, memory operation and architecture, as well as fundamentals of floating point and acceleration. A final link to domain-specific computing demonstrates how the concepts discussed relate to practical challenges.
The labs serve as an introduction and include benchmarking and performance gain estimates on selected examples.
After the course, the students will:
- Understand the architecture of modern platforms and processors, and to use this knowledge in a business, scientific or engineering context
- Write and compile efficient code, fully controlling the computer
- Use the Seven Dimensions of Performance to write scalable code
- Understand the operation and key features of compilers
From the basic Von Neumann model to modern processors
Scaling through the Seven Dimensions of Performance - from vectors to datacenters
Controlling hardware options of computers
GPU and accelerator techniques primer