Responsive image

HPC Shiksha

Basics of High Performance Computing

Responsive image

Dates

14 weeks from November 9, 2020 through February 12, 2021


Time

Evenings 17:00 -- 18:30 (1 hour lecture, 30 minutes of Q&A)


Day-wise Syllabus

WeekMondayWednesdayFriday
1Introduction and Motivation
(9 November 2020)
Types of architecture
(11 November 2020)
Flynn’s taxonomy
(13 November 2020)
2Holiday on account of Diwali
(16 November 2020)
Basic concepts: cores, nodes, threads, processes
(Rescheduled: 18 November 2020)
Cache, principle of locality, shared memory
(20 November 2020)
3Distributed memory, communication
(23 November 2020)
Data races, synchronization
(25 November 2020)
Critical section, locks
(27 November 2020)
4Atomics, barriers
(30 November 2020)
Performance measurement in sequential programs
(2 December 2020)
Profiling and identifying bottlenecks, Examples
(4 December 2020)
5Overheads, Amdahl’s law
(7 December 2020)
OpenMP introduction, Hello World program
(9 December 2020)
Work-sharing constructs
(11 December 2020)
6Scheduling constructs
(14 December 2020)
Synchronization constructs
(16 December 2020)
Examples using arrays
(18 December 2020)
7Examples using matrices
(21 December 2020)
Using tools such as gprof
(23 December 2020)
Christmas Holiday
(25 December 2020)
8Case study: matrix products
(28 December 2020)
Case study continued
( 30 December 2020)
New Year Holiday
(1 January 2021)
9MPI introduction, Hello World program
(4 January 2021)
Communicator and communication
(6 January 2021)
Point-to-point function calls
(8 January 2021)
10Collective function calls
(11 January 2021)
Measuring performance via communication volume and bandwidth
(13 January 2021)
Case study: Monte-Carlo Pi computing using MPI
(15 January 2021)
11Case study: domain decomposition method
(18 January 2021)
Case study: domain decomposition method (contd.)
(20 January 2021)
Case study: matrix products using MPI
(22 January 2021)
12Introduction to GPU Architecture
(25 January 2021)
Introduction to CUDA Programming Model (Threads, Blocks, Grid, Warps)
(27 January 2021)
CUDA Memory: Global Memory
(29 January 2021)
13CUDA Thread Programming ( Thread Divergence, Atomic Operation, Warp sync Programming)
(1 February 2021)
CUDA Memory: Shared Memory
( 3 February 2021)
CUDA Tools: Profiler, Debugger
(5 February 2021)
14Directive Based GPU Programming
(8 February 2021)
Multi-GPU computing
(10 February 2021)
Case study: CFD, closing
(12 February 2021)