Amaliy mashg‘ulot №9.
OpenMP paket imkoniyatlari.
Reja
1. OpenMP nima?
2.
OpenMP -ning ishlab chiquvchi uchun qanday afzalliklari bor?
3.
OpenMP
interfeysi umumiy
xotira
modelida kengaytiriladigan
SMP
tizimlarida
(SSMP, ccNUMA va boshqalar) dasturlash
uchun standart sifatida
yaratilgan . OpenMP standarti kompilyator direktivalari, protseduralari va atrof -muhit
o'zgaruvchilari uchun spetsifikatsiyalarni o'z ichiga oladi.
Ko'p sonli protsessorlar uchun kengaytiriladigan umumiy xotira tizimlariga
misollar:
Cray Origin2000
superkompyuterlari (128 protsessorgacha),
HP 9000 V-
klassi
(bitta tugunda 32
tagacha
protsessor va 4 tugunli konfiguratsiyada 128gacha).
protsessorlar),
Sun Starfire
(64
tagacha
protsessor).
OpenMP paydo bo'lishidan oldin SMP tizimlarida samarali dasturlash uchun mos
standart yo'q edi.
Eng
moslashuvchan, ko'chma va umumiy qabul qilingan parallel dasturlash
interfeysi
MPI
(Xabarlar
o'tish
interfeysi). Biroq, xabar almashish modeli 1) SMP
tizimlarida
etarli darajada samarali emas; 2) o'zlashtirish nisbatan qiyin,
chunki
"hisoblanmaydigan" so'zlar bilan o'ylashni talab qiladi.
X3H5 standarti loyihasi muvaffaqiyatsizlikka uchradi, chunki u MPP tizimlariga
qiziqish katta bo'lgan paytda taklif qilingan, shuningdek, u faqat pastadir darajasidagi
parallellikni qo'llab-quvvatlagan. OpenMP X3H5 -ning ko'plab g'oyalariga asoslanadi.
Iplarni (
Pthreads ) tashkil qilish uchun POSIX interfeysi keng qo'llab -
quvvatlanadi (deyarli barcha UNIX tizimlarida), lekin ko'p sabablarga ko'ra amaliy
parallel dasturlash uchun mos emas:
1. Fortran qo'llab -quvvatlashi yo'q,
2.
juda past darajadagi,
3. ma'lumotlar bir vaqtda qo'llab -quvvatlanmaydi,
4. Tarmoq mexanizmi dastlab bir vaqtda ishlash uchun
mo'ljallanmagan.
OpenMP-ni Pthreads (yoki shunga o'xshash tishli kutubxonalar)
ustidan yuqori
darajadagi qo'shimchalar deb hisoblash mumkin.
SMP
arxitekturasining
ko'plab
sotuvchilari
( Sun,
HP ,
SGI)
o'z
kompilyatorlarida looplarni
parallellashtirish