Openmp ( open Multi-Processing )


PARALLEL DASTURLASHNING GIBRID


Download 1.48 Mb.
Pdf ko'rish
bet2/3
Sana15.06.2023
Hajmi1.48 Mb.
#1477881
1   2   3
Bog'liq
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.



Download 1.48 Mb.

Do'stlaringiz bilan baham:
1   2   3




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