X

High Performance Computing for Scientists and Engineers

By Prof. Somnath Roy   |   IIT Kharagpur
Learners enrolled: 1145
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
INDUSTRIES  SUPPORT     : Not Applicable
Summary
Course Status : Completed
Course Type : Elective
Duration : 8 weeks
Category :
  • Mechanical Engineering
  • Computational Engineering
Credit Points : 2
Level : Undergraduate/Postgraduate
Start Date : 14 Sep 2020
End Date : 06 Nov 2020
Enrollment Ends : 25 Sep 2020
Exam Date : 18 Dec 2020 IST

Note: This exam date is subjected to change based on seat availability. You can check final exam date on your hall ticket.


Page Visits



Course layout

Week 1: Introduction to high performance computing (1) , Architectures for parallel computing- Flynn;s Taxonomy (3),
              Shared and distributed memory(2)
Week 2: Parallel Algorithms (3) ,Performance metrics for parallel systems(2) 
Week 3: Introduction to OpenMP (3) Essentials of OpenMP programming (2) 
Week 4: Data sharing and synchronization (1) Efficient OpenMP programming for matrix computing (1)
               Introduction to MPI and distributed memory programming (2)

Week 5: Communications using MPI (3) Matrix representation and solution for physical systems (1) Domain decomposition technique (1) 
Week 6: Domain decomposition based parallelization of matrix solvers (3) MPI routines for parallel matrix solvers (1) 
Week 7: Introduction to GPGPU and CUDA (4) CUDA programming (2)
Week 8: Thread execution in CUDA- scheduling and memory access (2) Matrix multiplications in CUDA (1)
               OpenACC programming for GPU-s (1) Multi-GPU programming and exascale computing (1)

Books and references

Grama, A., Gupta, A., Karypis, G., and Kumar, V., Introduction to Parallel Computing, Addison Wesley, 2003
Gropp, W, Ewing L, and Anthony S. Using MPI: portable parallel programming with the message-passing interface. Vol. 1. MIT press, 1999.
Cook, S., CUDA Programming: A Developer's Guide to Parallel Computing with GPUs, M K Publishers, 2012
NVIDIA, CUDA C Programming guide, 2012

Instructor bio

Prof. Somnath Roy

IIT Kharagpur
My primary area of work is computational fluid dynamics (CFD). I have been working on several applications involving heat transfer, mixing and turbulence. I also investigate CFD problems involving high computational cost and try to propose high performance computing (HPC) methodologies to address them using multi-core clusters and GPGPU platforms. In last few years, I have been mostly involved in addressing flow problems with moving boundaries. My group works on developing immersed boundary method (IBM) based computationally efficient algorithms to solve moving boundary problems and we have utilized these implementations to predict flow and heat transfer in engineering and biological applications. Over last eight years I have also been involved in teaching several courses like Fluid Mechanics, Thermodynamics, Aerodynamics Advanced Engineering Mathematics, Matrix Computing and High Performance Scientific Computing to students at different levels (UG and PG). I have earlier offered an NPTEL MOOC course titled Matrix Solvers.

Course certificate

•The course is free to enroll and learn from. But if you want a certificate, you have to register and write the proctored exam conducted by us in person at any of the designated exam centres.
•The exam is optional for a fee of Rs 1000/- (Rupees one thousand only).
Date and Time of Exams: 18 December 2020, Morning session 9am to 12 noon; Afternoon Session 2pm to 5pm.
•Registration url: Announcements will be made when the registration form is open for registrations.
• The online registration form has to be filled and the certification exam fee needs to be paid. More details will be made available when the exam registration form is published. If there are any changes, it will be mentioned then.
•Please check the form for more details on the cities where the exams will be held, the conditions you agree to when you fill the form etc.

CRITERIA TO GET A CERTIFICATE:
• Average assignment score = 25% of average of best 6 assignments out of the total 8 assignments given in the course.
• Exam score = 75% of the proctored certification exam score out of 100
•Final score = Average assignment score + Exam score

YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75.
•If one of the 2 criteria is not met, you will not get the certificate even if the Final score >= 40/100.
• Certificate will have your name, photograph and the score in the final exam with the breakup.It will have the logos of NPTEL and IIT Kharagpur. It will be e-verifiable at nptel.ac.in/noc
•Only the e-certificate will be made available. Hard copies will not be dispatched.


MHRD logo Swayam logo

DOWNLOAD APP

Goto google play store

FOLLOW US