- An understanding of HPC Systems
- Parallel programming experience
Audience
- Software Engineers
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.
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
United Arab Emirates - Parallel Programming with OpenMP
Qatar - Parallel Programming with OpenMP
Egypt - Parallel Programming with OpenMP
Saudi Arabia - Parallel Programming with OpenMP
South Africa - Parallel Programming with OpenMP
Brasil - Parallel Programming with OpenMP
Canada - Parallel Programming with OpenMP
中国 - Parallel Programming with OpenMP
香港 - Parallel Programming with OpenMP
澳門 - Parallel Programming with OpenMP
台灣 - Parallel Programming with OpenMP
USA - Parallel Programming with OpenMP
Österreich - Parallel Programming with OpenMP
Schweiz - Parallel Programming with OpenMP
Deutschland - Parallel Programming with OpenMP
Czech Republic - Parallel Programming with OpenMP
Denmark - Parallel Programming with OpenMP
Estonia - Parallel Programming with OpenMP
Finland - Parallel Programming with OpenMP
Greece - Parallel Programming with OpenMP
Magyarország - Parallel Programming with OpenMP
Ireland - Parallel Programming with OpenMP
Luxembourg - Parallel Programming with OpenMP
Latvia - Parallel Programming with OpenMP
España - Parallel Programming with OpenMP
Italia - Parallel Programming with OpenMP
Lithuania - Parallel Programming with OpenMP
Nederland - Parallel Programming with OpenMP
Norway - Parallel Programming with OpenMP
Portugal - Parallel Programming with OpenMP
România - Parallel Programming with OpenMP
Sverige - Parallel Programming with OpenMP
Türkiye - Parallel Programming with OpenMP
Malta - Parallel Programming with OpenMP
Belgique - Parallel Programming with OpenMP
France - Parallel Programming with OpenMP
日本 - Parallel Programming with OpenMP
Australia - Parallel Programming with OpenMP
Malaysia - Parallel Programming with OpenMP
New Zealand - Parallel Programming with OpenMP
Philippines - Parallel Programming with OpenMP
Singapore - Parallel Programming with OpenMP
Thailand - Parallel Programming with OpenMP
Vietnam - Parallel Programming with OpenMP
India - Parallel Programming with OpenMP
Argentina - Parallel Programming with OpenMP
Chile - Parallel Programming with OpenMP
Costa Rica - Parallel Programming with OpenMP
Ecuador - Parallel Programming with OpenMP
Guatemala - Parallel Programming with OpenMP
Colombia - Parallel Programming with OpenMP
México - Parallel Programming with OpenMP
Panama - Parallel Programming with OpenMP
Peru - Parallel Programming with OpenMP
Uruguay - Parallel Programming with OpenMP
Venezuela - Parallel Programming with OpenMP
Polska - Parallel Programming with OpenMP
United Kingdom - Parallel Programming with OpenMP
South Korea - Parallel Programming with OpenMP
Pakistan - Parallel Programming with OpenMP
Sri Lanka - Parallel Programming with OpenMP
Bulgaria - Parallel Programming with OpenMP
Bolivia - Parallel Programming with OpenMP
Indonesia - Parallel Programming with OpenMP
Kazakhstan - Parallel Programming with OpenMP
Moldova - Parallel Programming with OpenMP
Morocco - Parallel Programming with OpenMP
Tunisia - Parallel Programming with OpenMP
Kuwait - Parallel Programming with OpenMP
Oman - Parallel Programming with OpenMP
Slovakia - Parallel Programming with OpenMP
Kenya - Parallel Programming with OpenMP
Nigeria - Parallel Programming with OpenMP
Botswana - Parallel Programming with OpenMP
Slovenia - Parallel Programming with OpenMP
Croatia - Parallel Programming with OpenMP
Serbia - Parallel Programming with OpenMP
Bhutan - Parallel Programming with OpenMP