OpenMP: Platform-Independent Multicore Programming with C or C++ - Face-to-Face Training
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
FACE-TO-FACE TRAINING
Price * | Duration |
---|---|
650,00 € | 1 day |
Training code: E-OPENMP * Price per attendee, in Euro plus VAT |