Openmp ( open Multi-Processing )
PARALLEL DASTURLASHNING GIBRID
Download 1.48 Mb. Pdf ko'rish
|
Tojiboyev Fazliddin
PARALLEL DASTURLASHNING GIBRID
MODELI Parallel dasturlashning gibrid modeli bilan yaratilgan dastur OpenMP va Message Passing Interface (MPI) yordamida kompyuter klasterida ishlashi mumkin , shuning uchun OpenMP (ko'p yadroli) tugun ichida parallellik uchun, MPI esa tugunlar orasidagi parallellik uchun ishlatiladi. . Bundan tashqari, OpenMP ni dasturiy ta'minot taqsimlangan umumiy xotira tizimlarida ishga tushirish, OpenMP ni MPI ga tarjima qilish va umumiy bo'lmagan xotira tizimlari uchun OpenMP ni kengaytirish harakatlari ham amalga oshirildi . 5 ASOSIY ELEMENTLAR • OpenMP ning asosiy elementlari ip yaratish, ish yukini taqsimlash (ish almashish), maʼlumotlar muhitini boshqarish, ish zarrachalarini sinxronlashtirish, foydalanuvchi darajasidagi ish vaqti tartiblari va atrof-muhit oʻzgaruvchilari uchun konstruksiyalardir. • C/C++ da OpenMP #pragmas dan foydalanadi 6 DIZAYN 7 OpenMP - bu ko'p ish zarralarini amalga oshirish,Parallellashtirish usuli bo'lib, bunda birlamchi ip (ketma-ket bajariladigan ko'rsatmalar qatori) ma'lum miqdordagi pastki iplarni ajratib turadi va tizim ular orasida vazifani taqsimlaydi. Keyin iplar bir vaqtning o'zida ishlaydi ,ish vaqti muhiti iplarni turli protsessorlarga ajratadi. Parallel ishlash uchun mo'ljallangan kod bo'limi tegishli ravishda kompilyator direktivasi bilan belgilanadi, bu bo'lim bajarilishidan oldin iplarning shakllanishiga olib keladi. Har bir ipga identifikator biriktirilgan, uni funksiya yordamida olish mumkin(deb ataladi omp_get_thread_num()). Tarmoq identifikatori butun son va asosiy ipning identifikatori 0 ga teng . Parallellashtirilgan kod bajarilgandan so'ng, iplar dasturning oxirigacha davom etadigan asosiy ipga qayta qo'shiladi . DASTURCHI UCHUN OPENMP NING QANDAY AFZALLIKLARI BOR? "QO'SHIMCHA PARALLELLASHTIRISH" 1. "Qo'shimcha parallellashtirish" g'oyasi tufayli OpenMP katta parallel tsikllar bilan hisoblash dasturlarini tezda parallellashtirishni xohlaydigan ishlab chiquvchilar uchun idealdir. Ishlab chiquvchi yangi parallel dastur yaratmaydi, shunchaki ketma-ket dastur matniga OpenMP direktivalarini ketma-ket qo'shadi. 2. Shu bilan birga, OpenMP juda moslashuvchan mexanizm bo'lib, ishlab chiquvchiga parallel dasturning xatti-harakatlari ustidan ko'proq nazoratni ta'minlaydi. 3. Bitta protsessorli platformadagi OpenMP dasturidan ketma- ket dastur sifatida foydalanish mumkin, deb taxmin qilinadi, ya'ni. ketma-ket va parallel versiyalarni qo'llab-quvvatlashga hojat yo'q. OpenMP direktivalari ketma-ket kompilyator tomonidan shunchaki e'tiborga olinmaydi va matni spetsifikatsiyalarda berilgan OpenMP protseduralarini chaqirish uchun stublar almashtirilishi mumkin. 4. OpenMP ning afzalliklaridan biri uning ishlab chiquvchilari tomonidan "etim" (yirtilgan) direktivalarni qo'llab-quvvatlash hisoblanadi , ya'ni sinxronizatsiya va ishni taqsimlash direktivalari to'g'ridan-to'g'ri leksik kontekstga kiritilmasligi mumkin. parallel mintaqa. 8 OPENMP 5.0 UCHUN QISMAN QO'LLAB-QUVVATLASH: 9 C/C++ uchun GCC 9 Intel Fortran va C/C++ kompilyatorlari 19.1 LLVM/Clang 12 OpenMP ko'plab tijorat kompilyatorlarida amalga oshirilgan. Masalan, Visual C++ 2005, 2008, 2010, 2012 va 2013 uni qo'llab-quvvatlaydi (OpenMP 2.0, Professional, Team System, Premium va Ultimate nashrlarida [18] [19] [20] ), shuningdek, turli protsessorlar uchun Intel Parallel Studio . Oracle Solaris Studio kompilyatorlari va vositalari Solaris OS (UltraSPARC va x86/x64) va Linux platformalari uchun unumdorlikni oshirish bilan birga eng soʻnggi OpenMP spetsifikatsiyalarini qoʻllab- quvvatlaydi. The Portland Group kompaniyasining Fortran, C va C++ kompilyatorlari ham OpenMP 2.5 ni qo'llab-quvvatlaydi. GCC 4.2 versiyasidan beri OpenMP-ni ham qo'llab-quvvatlaydi. |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling