X
X
X

X
Courses » Introduction to Parallel Programming in OpenMP

Introduction to Parallel Programming in OpenMP

ABOUT THE COURSE

This course focuses on the shared memory programming paradigm. It covers concepts & programming principles involved in developing scalable parallel applications. Assignments focus on writing scalable programs for multi-core architectures using OpenMP and C. This is an introductory course in shared memory parallel programming suitable for computer science as well as non-computer science students working on parallel/HPC applications and interested in parallel programming.

INTENDED AUDIENCE 
Computer Science and non-Computer Science Students with interest in parallel programming for HPC applications.

CORE/ELECTIVE
Elective

PRE-REQUISITES 
Students enrolling for this course should be comfortable with programming in C.

UG/PG: Both UG/PG

INDUSTRIES THAT WILL VALUE THIS
IBM, Intel, Amazon, Google, Microsoft, Cray.

4116 students have enrolled already!!

COURSE INSTRUCTOR

Yogish Sabharwal is a researcher at IBM Research and serves as an adjunct faculty at IIT Delhi. At IBM, he manages the high performance computing group, that ensures that real-world applications are able to extract the best performance out of HPC systems. He has 70+ papers including 3 best paper awards, 2 best paper nominations and a Gordon Bell finalist. His work has won several competitions organized in the HPC community.

CERTIFICATION EXAM

*The exam is optional for a fee. (Exams will be on 22 Oct 2017).
*Time: Shift 1: 9am-12 noon; Shift 2: 2pm-5pm
*Any one shift can be chosen to write the exam for a course.
*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.

CERTIFICATE

*Final score will be calculated as : 25% assignment score + 75% final exam score
*25% assignment score is calculated as 25% of average of best 3 out of 4 assignments.
*E-certificate will be given to those who register and write the exam and score greater than or equal to 40% final score. 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 Madras. It will be e-verifiable at nptel.ac.in/noc.

COURSE LAYOUT 

Week 1
Single Processor Architecture and Basic OpenMP constructs & functions
Week 2 More OpenMP constructs & functions
Week 3 Basic Linear Algebra using OpenMP and OpenMP tasks
                (Assignment 1: Programming assignment to implement and evaluate blocked matrix multiply in OpenMP)
Week 4 Critical Sections, locks and Matrix Factorization using OpenMP
                (Assignment 2: Programming assignment to implement and evaluate task based algorithm for a BLAS routine).

SUGGESTED READING

1. Introduction to Parallel Computing (Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar)
2. OpenMP Tutorial from LLNL (https://computing.llnl.gov/tutorials/openMP/)