Experience Embedded

Professional Training, Consulting and Project Support

OpenMP: Platform-Independent Multicore Programming with C or C++

  • Content
     
  • Objectives
     
  • Participants
     
  • Requirements
     

The training shows you how to develop platform independent and portable multithreading/ multicore applications without having to deal with explicit thread programming.

You learn how existing application code that has been developed for sequential execution is parallelized without having to change its general software architecture.

You are able to design applications such that you benefit from increased performance due to additional cores, without having to adjust the application to this end.

Software developers, software architects or project managers who want to develop platform independent multithreading/multicore-applications without the need to deal with explicit thread programming.

A working knowledge of C (or C++) and a basic knowledge of multithreading systems. (Important note: This course does not support the Fortran API of OpenMP!)

Introduction: General Multicore Programming Considerations

  • CPU use scenarios
  • False sharing
  • Criteria for best performance results

Loop Parallelization

  • The directive parallel_for
  • Thread local variable
  • Private variable
  • lastprivate
  • Reduction
  • Scheduling strategies
  • static
  • dynamic
  • guided
  • runtime
  • Conditional parallelization
  • single
  • nowait
  • master
  • copyprivate

Synchronization

  • Atomic
  • Critical regions
  • Locks
  • Barriers
  • Ordered execution
  • Data consistency between threads
  • Implicit use of flush

Miscellaneous

  • Sections
  • Orphaned directives
  • Nested parallel regions
  • Dynamic thread number adjustment
  • Time measurement

The training price includes:
Lunch, drinks, training documentation and your training certificate.


ALL INCLUSIVE!

Related trainings

Embedded Multicore Microcontrollers: Practical Application
Training code: E-µC-MULTI

Embedded C Training: Programming Methods and Tools for Embedded Applications
Training code: E-EMB-C

Embedded C++: Object-Oriented Programming for Microcontrollers with C++/EC++ and UML
Training code: E-EC++

Embedded C++ Advanced: Object-Oriented Programming for Microcontrollers with C++/EC++
Training code: E-EC++/FOR


Related trainings

Trainings

Price *Duration
650,00 €1 day
Training code: E-OPENMP

* Price per attendee, in Euro plus VAT


> Registration form download (PDF)
> Training details as PDF

Onsite Training

Our customized workshops integrate your specific project tasks in our training content and accommodate your requirements on content, time, location, duration, technical environment and knowledge transfer methodology.

Please contact us for further information or an individual quotation.

> Training details as PDF

Coaching

Our coaching services offer a major advantage: our specialists introduce their expertise and experience directly in your solution process, thus contributing to the success of your projects.

We will be happy to provide you with further information or submit a quotation tailored to your requirements.

OpenMP: Platform-Independent Multicore Programming with C or C++

Content

Introduction: General Multicore Programming Considerations

  • CPU use scenarios
  • False sharing
  • Criteria for best performance results

Loop Parallelization

  • The directive parallel_for
  • Thread local variable
  • Private variable
  • lastprivate
  • Reduction
  • Scheduling strategies
  • static
  • dynamic
  • guided
  • runtime
  • Conditional parallelization
  • single
  • nowait
  • master
  • copyprivate

Synchronization

  • Atomic
  • Critical regions
  • Locks
  • Barriers
  • Ordered execution
  • Data consistency between threads
  • Implicit use of flush

Miscellaneous

  • Sections
  • Orphaned directives
  • Nested parallel regions
  • Dynamic thread number adjustment
  • Time measurement

Wishlist


No trainings