NSM Course on

High Performance Computing

October 31 -- December 7, 2023


Home   |   Registration   |   Schedule   |   Speakers

This course is a gentle introduction to high performance computing. It would cover the basics of multi-threading, synchronization, concurrent data structures, profiling, and GPU programming.


Introduce fundamentals of high performance computing and develop skills to implement efficient parallel programs.


  • Why do we need HPC concepts?
  • Why shouldn't we wait for a free lunch?
  • Issues with Multi-threading?
  • What is the role of synchronization primitives?
  • How to design a few synchronization primitives?
  • What are different synchronization techniques and how to use the techniques?
  • What is the need for Concurrent Data Structures and how to design the structures?
  • What are the parameters to be considered for measuring the performance of an application?
  • How to use different performance monitoring tools?
  • What is needed for GPU Programming and how to write a few GPU programs?
  • What is the need for Heterogeneous Computing and how to write the progrms?
  • How to analyze parallel algorithms?

Who should attend?

  • Students interested in parallel programming
  • Practitioners working with parallel programming models
  • Instructors teaching parallel programming and data structures

What do I get from the workshop?

  • Understanding of the fundamental principles of concurrency
  • Pointers to tools and techniques for practical use
  • Possible research topics for further exploration
After successful completion of the course, an e-certificate will be awarded to each registered participant attending at least 10 out of 12 sessions fully.

Register Now.


Praveen Alapati

Mahindra University

Brahmaiah Gandham

Mahindra University

Saurabh Kalikar

Intel Labs

Kalyan T V

IIT Ropar

Powered by NSM Nodal Centre for Training in HPC and AI