3-Amaliy ish
OpenMP paket imkoniyatlari, MPI paketinidan foydalanish yo’llari
REJA:
I Kirish
II Asosiy qism
1) Parallel dastur tushunchasi
2) Ma’lumotlarni uzatish operatsiyalari
3) Kommunikatorlar tushunchasi
III Xulosa
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.
Dostları ilə paylaş: |