3- amaliy mashg’ulot. Mavzu


Download 251.03 Kb.
Pdf ko'rish
bet4/6
Sana18.06.2023
Hajmi251.03 Kb.
#1581579
1   2   3   4   5   6
Bog'liq
3-amaliy

intSize) 
{ int i, j; 
for (i=0; i
for (j=0; j
pResult[i] += pMatrix[i*Size+j]*pVector[j]; 


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 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. 
OpenMP: oddiy parallel dasturlash uchun kompilyator direktifi MPI: 
kutubxonaning yuqori samarali taşınabilirliğini amalga oshirish uchun muntazam 
Java: etakchi dasturiy tilida bir vaqtda kelishuv Muhokamani iloji boricha aniqroq 
qilish uchun har bir tanlov uchun taniqli dasturning parallel versiyasi taqdim etiladi. 
Bu to'rtburchak formulasidan foydalanib odatiy raqamli integratsiya va integral 
funktsiyasi va integral chegaralari tanlanadi, shunda 'n' raqami matematik jihatdan 
to'g'ri natija hisoblanadi. Ushbu vazifa parallel dasturlashda "salom dunyosi" 
dasturining analogiyasidir. Maqolaning oxirida ish va o'qish uchun parallel dasturiy 
ko'rsatmani tanlash bo'yicha qisqacha tushuntirish berilgan. OpenMP [omp] - 
umumiy xotira kompyuterlari uchun parallel dasturlarni yaratish uchun sanoat 
standarti bo'lgan API. OpenMP ning asosiy maqsadi - aylanish yo'naltirilgan 
dasturlarni yozishni osonlashtirishdir. Bunday dasturlar tez-tez yuqori samarali 
hisoblash uchun yaratiladi. Bundan tashqari, komponentlar OpenMP tarkibiga 
SPMD, "master and workflow", quvur liniyasi kabi parallel usullarini qo'llab-
quvvatlash uchun kiritilgan. OpenMP juda muvaffaqiyatli parallel dasturlash tiliga 
aylandi. U bozorga kiradigan har bir xotira almashadigan kompyuterda mavjud. 
Bundan tashqari, Intel yaqinda Klasterlarni qo'llab-quvvatlash uchun OpenMP 
versiyasini yaratdi. OpenMP parallelizmin mavjud ketma-ketlik dasturi parallel 
holga kelgunicha astasekin qo'shilgan dasturlash uslubini qo'llab-quvvatlaydi. Biroq, 
bu afzallik OpenMP ning eng zaif nuqtasidir. Agar muvozanat asta-sekin qo'shilsa, 
dasturchi dasturni keng miqyosda qayta qurish qila olmaydi, bu ko'pincha maksimal 
ishlash uchun zarur bo'ladi. OpenMP doimiy rivojlanayotgan standartdir. OpenMP 
Architecture Review Board deb nomlangan sanoat guruhi ushbu tilga yangi 
kengaytmalar kiritish uchun muntazam uchrashuvlar o'tkazadi. OpenMP ning 
keyingi versiyasi (3.0 versiyasi) vazifa navbatini tashkil etish qobiliyatini o'z ichiga 
oladi. Bu esa, OpenMP-ga yanada keng boshqaruv tuzilmalarini boshqarish va 
umumiy umumiy recursiv algoritmlardan foydalanish imkonini beradi. 

Download 251.03 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




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