Tutorialspoint

#May Motivation Use code MAY10 for extra 10% off

Learn OpenMP-Parallel Programming in C++

person icon Ezeuko Emmanuel

4.4

Learn OpenMP-Parallel Programming in C++

how to write parallel programs using OPENMP in C / C++

updated on icon Updated on May, 2024

language icon Language - English

person icon Ezeuko Emmanuel

English [CC]

category icon C++,Development,Programming Languages

Lectures -9

Duration -2 hours

4.4

price-loader

30-days Money-Back Guarantee

Training 5 or more people ?

Get your team access to 10000+ top Tutorials Point courses anytime, anywhere.

Course Description

Welcome.

This is a practical course on C and C++ high-level language which teaches parallel programming using OpenMP. We start by explaining what a parallel program is, its applications, and different examples of it. Then we introduced the two main API used for parallel programming which is openMP and MPi. We also learn the difference between concurrency and parallelism.

We also discussed the shared memory model, distributed memory model, and hybrid model, etc relative to their implementation in parallel programming. 

We discussed what a task region is, and how to declare one. 

Then we dived into writing parallel programs using OpenMP API. 

Some of the programs demonstrated each of the openMP work-sharing constructs including; 

1.   Parallel Regions –

  • e.g #pragma omp parallel

2. Runtime functions/environment variables –e.g 

  • int my_thread_id = omp_get_num_threads(); – omp_set_num_threads(8);

3. Synchronization – 

  • e.g #pragma omp barrier

4. Work sharing – 

  • e.g #pragma omp for, #pragma omp sections

5. Data Environment – 

  • e.g #pragma omp parallel shared/private (…)

6. tasks. etc. 

A lot of practical examples are also included in most lectures to enable the reader to get a good grasp of the concept being discussed.

At the end of the course, the student would be able to efficiently implement parallel programming to improve the speed and standard of programs written in C and C++.

Thank you.

Goals

What will you learn in this course:

  • The student would be able to write parallel programs in C and C++
  • The learner would learn what is OpenMP, and its application in parallel processing.
  • The student will learn how to implement the different types of openMP construct like work sharing, environment variables, FOR construct, data variables, task, etc.
  • The student will learn how to translate a serial C and C++ program to a parallel program

Prerequisites

What are the prerequisites for this course?

  • Beginner to intermediate knowledge of C++ or C language.
Learn OpenMP-Parallel Programming in C++

Curriculum

Check out the detailed breakdown of what’s inside the course

Introduction
9 Lectures
  • play icon 1. Introduction - difference between concurrency and parallelism, memory models 19:33 19:33
  • play icon 2. introduction to openMP 08:07 08:07
  • play icon 3. Different kinds of openMP constructs, Defining the parallel regions 07:54 07:54
  • play icon 4. False sharing and race condition in openMP, and how to implement padding 18:43 18:43
  • play icon 5. How to implement synchronization in openMP using atomic, critical, barrier 17:56 17:56
  • play icon 6. How to implement the runtime environment construct 16:37 16:37
  • play icon 7. How to use the worksharing construct - section, single, master, for, task etc 31:02 31:02
  • play icon 8. Data environment variable 17:59 17:59
  • play icon 9. implementing the task construct 11:50 11:50

Instructor Details

Ezeuko Emmanuel

Ezeuko Emmanuel


Course Certificate

Use your certificate to make a career change or to advance in your current career.

sample Tutorialspoint certificate

Our students work
with the Best

Feedbacks

V

Vasuky Mohanan

e

Very clear. I like the practical code examples

Related Video Courses

View More

Annual Membership

Become a valued member of Tutorials Point and enjoy unlimited access to our vast library of top-rated Video Courses

Subscribe now
Annual Membership

Online Certifications

Master prominent technologies at full length and become a valued certified professional.

Explore Now
Online Certifications

Talk to us

1800-202-0515