# openmp-examples
This repository contains OpenMP-examples which I created while learning OpenMP.
I follow Tim Mattson's [Introduction to OpenMP](https://www.youtube.com/watch?v=nE-xN4Bf8XI&list=PLLX-Q6B8xqZ8n8bwjGdzBJ25X2utwnoEG) video playlist on youtube.
Other useful links are as follows:
- http://bisqwit.iki.fi/story/howto/openmp/
- https://www.viva64.com/en/a/0054/
### Details
I am learning OpenMP because I have a master degree program assignment about running machine learning algorithms in parallel.
In addition to OpenMP, I am going to do same things by using Apache Spark. In summary, this is quite a personal playground repository.
It does not mean to cover all the details or become a comprehensible tutorial guide.
### Repositories
| Name | Description |
|------------------|-----------------------------------------------------------------|
| hello-mp | Hello world in open-mp |
| parallel-loop-1 | traversing a loop in parallel |
| avrage-reduction | calculating avg by using `atomic` and `reduction` concepts |
| heap-vs-stack | sharing(global) and not sharing data(local) between threads. |
| data-sharing | private, first-private, initialization concepts |
| integral | calculating integral in various ways to demonstrate approaches |
| scheduling | thread scheduling |
| linkedlist | consuming linkedlist in multiple threads in a thread-safety way |
| Als | movie recommender system using alternating least squares method |