Parallel Programming with OpenMP Training Course

Last updated

Course Code

openmp

Duration

14 hours (usually 2 days including breaks)

Requirements

  • An understanding of HPC Systems
  • Parallel programming experience

Audience

  • Software Engineers

Overview

OpenMP (Open Multi-Processing) is an API for shared memory multiprocessing programming. With OpenMP, programmers are able to develop parallel applications for platforms from desktops to non-shared memory systems.

This instructor-led, live training (online or onsite) is aimed at software engineers who wish to develop parallel applications using OpenMP.

By the end of this training, participants will be able to:

  • Understand and use parallel programming with Fortran in OpenMP.
  • Calculate fractals in parallel to render multiple pixels and characters.
  • Implement vector programming with SIMD extensions for HPC systems.
  • Add parallel blocks for specifying shared memory parallelism.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

Multi-Threading Programming

  • Syntax and constructs
  • Clauses and sections

Offloading Support

  • Directives and target data
  • If, device, and map clauses

Thread Safety and Sharing

  • Atomicity
  • Constructs, locks, and directives
  • Shared clauses

Preparing the Development Environment

  • Installing and configuring OpenMP
  • Installing and configuring VMWare
  • Setting up an HPC with VMWare

Parallel Programming in OpenMP

  • Creating a hello world code example and demonstration
  • Worksharing constructs
  • Working with for loops
  • Using sectional parallelism
  • Using fractals
  • Adding vectors

Vector Programming and SIMD Extensions

  • Vectorizing loops
  • Annotating user-defined functions
  • Using functions that support SIMD annotation
  • Generating a vector function
  • Registering vector return values

Fortran in OpenMP

  • Worksharing constructs
  • Synchronizing constructs
  • Using data scope attribute clauses and other clauses
  • Working with OpenMP-Runtime Library

Parallel Blocks

  • Specifying the number of threads
  • Executing parallel statement blocks
  • Distinguishing the running threads in a parallel block
  • Using omp critical directives

Summary and Conclusion

Related Categories

Related Courses

Course Discounts

Course Discounts Newsletter

We respect the privacy of your email address. We will not pass on or sell your address to others.
You can always change your preferences or unsubscribe completely.

Some of our clients

is growing fast!

We are looking to expand our presence in the US!

As a Business Development Manager you will:

  • expand business in the US
  • recruit local talent (sales, agents, trainers, consultants)
  • recruit local trainers and consultants

We offer:

  • Artificial Intelligence and Big Data systems to support your local operation
  • high-tech automation
  • continuously upgraded course catalogue and content
  • good fun in international team

If you are interested in running a high-tech, high-quality training and consulting business.

Apply now!

This site in other countries/regions