18
1.3 OpenMP paketlarining ishlash prinsipi
OpenMP API (Application Program Interface) bu o’zida
umumiy xotirali
parallelashgan C, C++ va Fortran dasturlari uchun komplyator diektivalarini,
kutubxonalarni va o’zgaruvchilar tavsifini jamlangan paket hisoblanadi.
C, C++ va Fortran tillarida direktivalar bitta dasturda bir nechta ma’lumotlar
(SPMD-single program multiple data)
tuzilmasi, vazifalar tuzilmasi,
qurilma
tuzilmasi, ish almashish tuzilmasi va moslashtirish tuzilmasini umumiy xotiraga
o’zlashtirib beradi. Vazifasi
ishlash vaqtini nazorat qilish, kutubxona va
o’zgaruvchilar bilan ta’minlab berishdir.
OpenMP
ning asosiy komponentalari
1-jadval.
Direktivalar
O’zgaruvchan muhit
Ishlash vaqti muhiti
Parallel maydon
Oqimlar soni
Oqimlar soni
Ishni taqsimlash
Jadvallar
Oqimlar ID
Moslashtirish
O’zgaruvchan
oqimlarni tartibga
solish
O’zgaruvchan
oqimlarni tartibga solish
Ma’lumotlar ko’lami
sifatlari(private,
firstprivate, lastprivate,
shared, reduction)
Parallelashtirishni qurish
Parallelashtirishni qurish
Umumlashtirish
Vaqtni hisoblash
Bloklash uchun API
OpenMP paketining kamchiliklari.
OpenMP API yagona foydalanuvchi uchun mo’ljallangan. OpenMP dasturga
bog’liq bo’lgan ma’lumotlar bog’liqligini, ma’lumotlar qarama-qarshiligini,
muammoli holatlarni tekshirishni talab qilmaydi. Shu
bilan birgalikda dasturdagi
kodlar ketma-ketligini xam tekshirishni talab qilmaydi. Dasturchilar OpenMP API
to’g’ri foydalanib dastur tuzishlari kerak. OpenMP API faqatgina murojaat
qilgandan keyingina ishlaydi.