53
OpenMP PAKET TARKIBINI VA ISHLASHINI O‘RGANISH
Ishdan maqsad:
OpenMP paketini va
uning ishlash algoritmlarini
o‘rganish va shaxsiy kompyuterda OpenMP kutubxonasini sozlash hamda
undan foydalana olish ko‘nikmasiga ega bo‘lish.
Nazariy qism
OpenMP paketini va uning ishlash algoritmlari
OpenMP(Open Multi - Processing) - ko‘p oqimli ilovalarni yaratish
uchun mo‘ljallangan amaliy dasturlashning interfeysi bo‘lib, asosan
umumiy xotiraga ega bo‘lgan parallel hisoblash tizimlari uchun ishlab
chiqilgan. OpenMP kompilyatorlar va maxsus
funksiyalar kutubxonasi
uchun direktivalar to‘plamidan iborat. OpenMP standarti yaqin 15 yil
ichida umumiy xotiraga ega arxitekturalarga qo‘llanilgan holda
yaratilgan.So‘nggi yillarda taqsimlangan xotirali parallel hisoblash
tizimlari uchun OpenMP standartining kengaytirilgan holda ishlab
chiqilmoqda. 2005 - yilning oxirida Intel kompaniyasi Cluster OpenMP
mahsulotini
taqdim etdi, unda kengaytirilgan OpenMP ishlab chiqilgan
bo‘lib taqsimlangan xotirali parallel hisoblash tizimlari uchun
mo‘ljallangan.
OpenMP paketi parallellashtirish jarayonida ko‘plab
oqim(thred)larni yaratadi (10.1-rasm).
10.1-rasm. OpenMP paketida parallellashtirish
10.1-rasmda ko‘rsatilganidek, OpenMP
paketi yordamida har bir
oqim(thred)lardan yana bittadan oqim(thred)lar yaratiladi. Ikki yadroli
tizim uchun ikkita oqim(thred), to‘rt yadroli tizim uchun to‘rtta yaratiladi
va hokazo. Keyin barcha oqim(thred)lar bir vaqtning o‘zida parallel
54
hudud hosil qiladi va amalni bajaradi. Har bir oqim(thred)
parallel
hududdan chiqqanda, u tugatiladi.
OpenMP kod mintaqalarini parallel ravishda ishga tushirish uchun
bir
nechta
qo‘shimcha
ko‘rsatmalar
beradi,
shu
jumladan
parallellashtirish sikllarini ham. OpenMP Linux, Windows va Mac OS X
tizimlari uchun bir nechta ochiq manbali va tijorat kompilyatorlarida
mavjud.
OpenMP hisoblash va dasturlash texnikasi bo‘yicha bir nechta yirik
ishlab chiqaruvchi kompaniyalar (Intel,
Hewlett-Packard, Silicon
Graphics, Sun, IBM, Fujitsu, Hitachi, Siemens, Bull) yaratishmoqda,
ularni OpenMP Architecture Review Board(ARB)
deb nomlangan
notijorat korxonasi tomonidan boshqariladi.
OpenMP ko‘p oqimli
ilovalarni tez va yengil yaratishni Fortran va C/C++ algoritmik tillarda
amalga oshiradi. OpenMP ning birinchi versiyasi 1997 - yilda Fortran tili
uchun yaratilgan. C/C++ dasturlash tillari uchun esa 1998
- yilda
yaratilgan. 2008 - yilda esa OpenMP ning 3.0 versiyasi yaratilgan. 2015
yilda esa OpenMP 4.5 versiyasi taqdim etildi.