This
workshop aims to provide the basics of modern processor architecture and serial
optimization techniques that can effectively exploit the architectural features
for scientific computing. Critical issues in data movement and issues in high performance
computing are discussed. The use of parallel processing in shared, nonuniform
access, and distributed memories is discussed. In addition the popular programming
styles of OpenMP, MPI and mixed programming are highlighted. Hands on sessions
will be conducted on the IIITDM Cluster Computer.
- Introduction to Parallel Architectures and High Performance Computing.
- Modern Processor Architecture scope of Parallel programming.
- Profiling the Serial Code – Functional, Line based and Hardware
Performance Counter.
- Data Access and Machine Balance. Computational Performance vs Memory
Bandwidth.
- Parallel Computer Architecture and limitations.
- Parallelization fundamentals.
- Shared Memory Parallel Programming with OpenMP.
- Distributed Memory Parallel Programming with MPI.
- Programming GPGPU Architectures with CUDA.