Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "iostream"
- #include <omp.h>
- using namespace std;
- int main()
- {
- int LICZBA_W = 10;
- //int i;
- int suma = 0;
- int pid;
- cout << "Zad 1" << endl;
- //------------------------------------------------------------------
- #pragma omp parallel num_threads(LICZBA_W)
- {
- pid = omp_get_thread_num();
- cout << endl << "Jestem watkiem nr " << pid;
- pid = omp_get_thread_num();
- cout << endl << "Koncze watek nr " << pid;
- }
- cout << endl;
- //-----------------------------------------------------------------
- cout << "----------------------------------------------------------";
- cout << endl << "Zad 2" << endl;
- #pragma omp parallel num_threads(LICZBA_W)
- {
- pid = omp_get_thread_num();
- cout << endl << "Jestem watkiem nr " << pid;
- #pragma omp barrier
- pid = omp_get_thread_num();
- cout << endl << "Koncze watek nr " << pid;
- }
- cout << endl;
- //---------------------------------------------------------------
- cout << "----------------------------------------------------------";
- //PRIVATE
- cout << endl << "Zad 3" << endl;
- int a = 5;
- cout << "Private" << endl;
- #pragma omp parallel num_threads(5) private(a)
- {
- a = 5;
- pid = omp_get_thread_num();
- a = a + pid;
- cout << "Zmienna prywatna: " << a << endl;
- }
- cout << "Wartosc a: " << a << endl;
- //---------------------------------------------------------------
- cout << "----------------------------------------------------------";
- //FIRSTPRIVATE
- cout << endl << "FirstPrivate" << endl;
- #pragma omp parallel num_threads(5) firstprivate(a)
- {
- a = 5;
- pid = omp_get_thread_num();
- a = a + pid;
- cout << "Zmienna prywatna: " << a << endl;
- }
- cout << "Wartosc a: " << a << endl;
- //---------------------------------------------------------------
- cout << "----------------------------------------------------------";
- //SHARED_1
- cout << endl << "Shared_atomic" << endl;
- #pragma omp parallel num_threads(5) shared(a)
- {
- a = 5;
- pid = omp_get_thread_num();
- #pragma omp atomic
- a += pid;
- cout << "Zmienna prywatna: " << a << endl;
- }
- cout << "Wartosc a: " << a << endl;
- //---------------------------------------------------------------
- cout << "----------------------------------------------------------";
- //SHARED_2
- cout << endl << "Shared_critical" << endl;
- #pragma omp parallel num_threads(5) shared(a)
- {
- a = 5;
- pid = omp_get_thread_num();
- #pragma omp critical
- a += pid;
- cout << "Zmienna prywatna: " << a << endl;
- }
- cout << "Wartosc a: " << a << endl;
- cout << endl;
- system("PAUSE");
- //return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement