The school program is structured along two main tracks: an introduction to the basic concepts and tools for developing efficient applications, and an in-depth discussion regarding the most commonly used programming methodologies and tools in parallel computing
The first one provides background concepts and is intended to form a stable core that will be offered each year with minor modifications.
The second one deals in detail with specific topics that will be selected year by year to cover all the important aspects with a cyclical turnaround.
Fundamentals of Efficient Programming:
- Modern Processor Architectures
- Tools and Methods for Improving Performance
- Efficient Use of Modern C++
- Managing Memory Usage
Parallel Programming for Scientific Applications
- Heterogeneous Architectures
- Programming with Threading Building Blocks
- GP-GPU Programming with CUDA
- Cluster Computing with MPI