8. openmp asosida parallel dasturlash


Download 48.95 Kb.
bet7/14
Sana19.04.2023
Hajmi48.95 Kb.
#1365571
1   2   3   4   5   6   7   8   9   10   ...   14
Bog'liq
openmself

printf("k = %d\n", k);

Tsikldan chiqishda k o'zgaruvchining qiymati 100 ga teng bo'ladi. Agar k o'zgaruvchisi xususiy deb e'lon qilingan bo'lsa, u holda tsikldan chiqishda uning qiymati aniqlanmagan bo'lar edi.

reduction holati. Bu holat xavfsiz global hisoblash imkonini beradi. Har bir sanab o'tilgan o'zgaruvchining shaxsiy nusxasi ko'rsatilgan operatorga muvofiq parallel bo'limga kirishda ishga tushiriladi (+ operatori uchun 0). Parallel qismdan chiqqanda, olingan qiymatlar qisman hisoblangan qiymatlardan hisoblab chiqiladi va asosiy ipga o'tkaziladi.


#pragma omp parallel
{
#pragma for shared(x) private(i) reduction(+:sum) for(i=0; i<10000; i++)
sum += x[i];
}
#pragma omp parallel
{
#pragma for shared(x) private(i) reduction(min:gsum) for(i=0; i<10000; i++)
gmin = min(gmin, x[i]);
}

Quyidagi operatorlar va agregat funktsiyalar C/C++ da mavjud: +, - , *, &, ^, |, &&, ||, min, max.


schedule holati. Bu shart ish iplar o'rtasida qanday taqsimlanishini nazorat qiladi.

schedule(turi [, blok hajmi])

Bu shart ish iplar o'rtasida qanday taqsimlanishini nazorat qiladi.

schedule(turi [, blok hajmi])

Blok o'lchami ip tomonidan qayta ishlanishi kerak bo'lgan har bir paketning hajmini belgilaydi (iteratsiyalar soni).

Jadval turi quyidagi qiymatlarni olishi mumkin:

  • static - takrorlashlar iplar orasida teng taqsimlanadi. Bular. agar tsiklda 1000 ta takrorlash va 4 ta ip bo'lsa, unda bitta ip 1 dan 250 gacha, ikkinchisi - 251 dan 500 gacha, uchinchisi - 501 dan 750 gacha, to'rtinchisi - 751 dan 1000 gacha bo'lgan barcha takrorlashlarni qayta ishlaydi. Agar blok hajmi ham ko'rsatilgan bo'lsa, keyin ma'lum o'lchamdagi bloklardagi barcha iteratsiyalar iplar orasida tsiklik taqsimlanadi. Statik ishni taqsimlash iteratsiya vaqtlari teng yoki taxminan teng bo'lganda samarali bo'ladi. Agar bunday bo'lmasa, unda quyidagi turdagi ishlarni taqsimlashdan foydalanish maqsadga muvofiqdir.


  • Download 48.95 Kb.

    Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   ...   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling