Course11210529340 lectures
High Performance Computing for Scientists and Engineers
Prof. Somnath Roy · IIT Kharagpur
About
Large-scale simulations of engineering and basic science problems require efficient use of modern high performance computing (HPC) infrastructure. This course is primarily aimed to introduce the concepts of high performance computing (HPC) to science and engineering students. Different parallel computing tools like MPI, OpenMP and CUDA will be discussed in connection with domain specific problems. This course will briefly introduce parallel architecture and discuss the performance metrics of HPC programs. Multi-CPU computing using both distributed and shared memory architecture will be discussed and OpenMP and MPI based parallelization of iterative matrix solvers will be discussed. Graphics processing unit (GPU) architecture and concepts of CUDA will be discussed. Matrix calculations using CUDA will be demonstrated.
INTENDED AUDIENCE : Basic science, Mathematics, Engineering PREREQUISITES : Backgrounds in numerical methods and basic programming will be of help
Lectures
Week 1
- Lecture 01 : Introduction to High Performance Computing
- Lecture 02 : Architecture for Parallel Computing
- Lecture 03 : Architecture for Parallel Computing (continued)
- Lecture 04 : Architecture for Parallel Computing (continued)
- Lecture 05 : Shared and distributed memory in parallel computing
- Lecture 06 : Shared and distributed memory in parallel computing (continued)
Week 2
- Lecture 07 : Parallel Algorithms
- Lecture 08 : Parallel Algorithms (continued)
- Lecture 09 : Parallel Algorithms (continued)
- Lecture 10 : Performance Metrics of Parallel Systems
- Lecture 11 : Performance Metrics of Parallel Systems (continued)
Week 3
- Lecture 12 : Introduction to OpenMP
- Lecture 13 : Introduction to OpenMP (continued)
- Lecture 14 : Introduction to OpenMP (continued)
- Lecture 15 : Essentials of OpenMP Programming
- Lecture 16 : Essentials of OpenMP Programming (continued)
Week 4
- Lecture 17 : Data sharing and synchronization
- Lecture 18 : Efficient OpenMP programming for matrix computing
- Lecture 19 : Introduction to MPI and Distributed Memory Parallel Programming
- Lecture 20 : Introduction to MPI and Distributed Memory Parallel Programming (continued)
Week 5
- Lecture 21 : Communication using MPI
- Lecture 22 : Communication using MPI (continued)
- Lecture 23 : Communication using MPI (continued)
- Lecture 24 : Matrix Representation of Physical Systems - Matrix Solvers
- Lecture 25 : Domain Decomposition Technique
Week 6
- Lecture 26 : Domain decomposition based parallelization of matrix solvers
- Lecture 27 : Domain decomposition based parallelization of matrix solvers (continued)
- Lecture 28 : Domain decomposition based parallelization of matrix solvers (continued)
- Lecture 29 : MPI routines for parallel matrix solvers
Week 7
- Lecture 30 : Introduction to GPGPU and CUDA
- Lecture 31 : Introduction to GPGPU and CUDA (continued)
- Lecture 32 : Introduction to GPGPU and CUDA (continued)
- Lecture 33 : Introduction to GPGPU and CUDA (continued)
- Lecture 34 : Introduction to CUDA programming
- Lecture 35 : Introduction to CUDA programming (continued)
Week 8
Syllabus and materials
At NPTEL, as the course publishes them.
Credits and licence
- Institution
- IIT Kharagpur
- Department
- Mechanical Engineering
- Teacher
- Prof. Somnath Roy
- Level
- Undergraduate
- Language
- English
- Subjects
- Engineering
- Source
- NPTEL
- Licence
- CC BY-NC-SA, as NPTEL states it. Non-commercial use only. NPTEL's terms
- Attribution
- NPTEL states: "Distributed under Creative Commons Attribution-ShareAlike / CC BY - NC - SA", beside a BY-NC-SA badge.
- Who can watch
- NPTEL gives no rating. Invisible Network shows it to Tweens profiles and older, judged from what the source says about it. How courses are placed