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 are openMP and MPi . We also learn the difference between concurrency and parallelism.
We also discussed 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 in to writing parallel programs using openMP APi.
Some of the programs demonstrated each of the openMP work sharing constructs including;
- Parallel Regions –
e.g #pragma omp parallel
- Runtime functions/environment variables –e.g
int my_thread_id = omp_get_num_threads(); – omp_set_num_threads(8);
- Synchronization –
e.g #pragma omp barrier
- Work sharing –
e.g #pragma omp for, #pragma omp sections
- Data Environment –
e.g #pragma omp parallel shared/private (…)
- tasks. etc.
A lot of practical examples are also included in most lectures to enable the reader 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 .