G‘afarov, A. F. Galimyanov parallel hisobiyotlar qo'llanma Qozon


Download 1.46 Mb.
bet78/85
Sana24.12.2022
Hajmi1.46 Mb.
#1062519
1   ...   74   75   76   77   78   79   80   81   ...   85
Bog'liq
ParVychGafGal (1)

8.7. OpenMP da sinxronizatsiya vositalari OpenMP quyidagi sinxronizatsiya konstruksiyalarini taqdim etadi: tanqidiy - tanqidiy qism

135
Machine Translated by Google


atomik - operatsiyaning atomligi
to'siq - sinxronizatsiya nuqtasi
master - bu faqat asosiy oqim tomonidan bajariladigan blok. Hamma
boshqa mavzular bu blokni o'tkazib yuboradi. Yashirin sinxronizatsiya blokining oxirida

yo'q.



buyurtma qilingan - blokni belgilangan ketma-ketlikda bajarish flush - umumiy o'zgaruvchilar qiymatlarini xotiraga darhol o'chirish. tanqidiy qism. Parallelda tanqidiy qismning mavjudligi
bo'lishini blok kafolatlaydi
faqat bitta ip bilan boshqariladi. Bular. bitta ip kiritilganda

muhim bo'lim, unga kirishga tayyor bo'lgan barcha boshqa mavzular, to'xtatilgan holatda. Muhim bo'limlar mumkin


nomlarini taqdim eting. Bunday holda, tanqidiy bo'limlar mustaqil deb hisoblanadi, faqat ular turli nomlardan foydalansalar. Odatiy bo'lib, hammasi
nomlanmagan tanqidiy bo'limlar bir xil nomga ega.

C/C++ da muhim bo'lim sintaksisi: #pragma omp kritik [(imya)] Strukturaviy blok


Misol (noto'g'ri foydalanish).
#pragma omp xususiy(i) uchun parallel (a,xmax) for(i=0; iagar(a[i]>xmax) #pragma omp tanqidiy xmax = a[i];
}// uchun

Misol (to'g'ri foydalanish, lekin samarali emas)


#pragma omp xususiy(i) umumiy(a,xmax) uchun parallel
for(i=0; i i++){
#pragma omp tanqidiy
136
Machine Translated by Google
agar(a[i]>xmax)
xmax = a[i];


}// uchun



Download 1.46 Mb.

Do'stlaringiz bilan baham:
1   ...   74   75   76   77   78   79   80   81   ...   85




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