The 2016 edition of the School is structured along two main tracks: an introduction to the basic concepts and tools for developing efficient applications and a series of hands-on presentations of parallel programming tools and methodologies.
The first provides background notions with an introduction to the use of basic tools and it is intended to constitute a stable core to be proposed, with minor modifications, each year.
The second deals in detail with specific topics that will be selected, year by year, in order to cover with a cyclic turnaround all the major aspects.
The basics of efficient programming:
- New processor architectures
- Efficient floating point computation
- Tools and methodologies for improving performance
- Efficient exploitation of the C++ language
- Managing memory usage
Parallel programming for scientific applications:
- Introduction, OpenMP programming
- GPU architectures and heterogeneous programming
- Effective vectorization
- Introduction to OpenCL and CUDA
- Cluster computing