Scientific program

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