Introduction to parallel Programming in Open MP

Overview 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

Beginner 0(0 Ratings) 0 Students enrolled English
Created by Admin corner
Last updated Fri, 10-Jun-2022
+ View more
Course overview
Curriculum for this course
37 Lessons 07:24:45 Hours
Lecture
37 Lessons 07:24:45 Hours
  • Introduction to Parallel Programming
    Preview 00:11:31
  • Parallel Architectures and Programming Models
    00:11:25
  • Pipelining
    00:09:02
  • Superpipelining and VLIW
    00:13:21
  • Memory Latency
    00:08:37
  • Cache and Temporal Locality
    00:14:44
  • Cache, Memory bandwidth and Spatial Locality
    00:12:23
  • Intuition for Shared and Distributed Memory architectures
    00:16:58
  • Shared and Distributed Memory architectures
    00:04:25
  • Interconnection networks in Distributed Memory architectures
    00:15:13
  • OpenMP: A parallel Hello World Program
    00:05:15
  • Program with Single thread
    00:13:56
  • Program Memory with Multiple threads and Multi-tasking
    00:07:02
  • Context Switching
    00:12:11
  • OpenMP: Basic thread functions
    00:09:52
  • OpenMP: About OpenMP
    00:05:13
  • Shared Memory Consistency Models and the Sequential Consistency Model
    00:21:33
  • Race Conditions
    00:06:15
  • OpenMP: Scoping variables and some race conditions
    00:15:55
  • OpenMP: thread private variables and more constructs
    00:11:14
  • Computing sum: first attempt at parallelization
    00:08:38
  • Manual distribution of work and critical sections
    00:10:56
  • Distributing for loops and reduction
    00:06:39
  • Vector-Vector operations (Dot product)
    00:19:26
  • Matrix-Vector operations (Matrix-Vector Multiply)
    00:14:58
  • Matrix-Matrix operations (Matrix-Matrix Multiply)
    00:20:30
  • Introduction to tasks
    00:07:07
  • Task queues and task execution
    00:10:53
  • Accessing variables in tasks
    00:11:12
  • Completion of tasks and scoping variables in tasks
    00:08:49
  • Recursive task spawning and pitfalls
    00:11:09
  • Understanding LU Factorization
    00:15:17
  • Parallel LU Factorization
    00:14:12
  • Locks
    00:23:41
  • Advanced Task handling
    00:15:12
  • Matrix Multiplication using tasks
    00:05:02
  • The OpenMP Shared Memory Consistency Model
    00:14:59
+ View more
Other related courses
34:30:27 Hours
Updated Wed, 08-Jun-2022
0 0 Free
27:10:39 Hours
0 0 Free
20:48:51 Hours
Updated Wed, 08-Jun-2022
0 0 Free
39:26:26 Hours
0 0 Free
About instructor

Admin corner

0 Reviews | 5 Students | 47 Courses
Student feedback
0
0 Reviews
  • (0)
  • (0)
  • (0)
  • (0)
  • (0)

Reviews

Free
Includes: