Parallel dasturlash


-ma’ruza. OpenMP dasturiy texnologiyasi



Download 0,6 Mb.
bet33/77
Sana07.07.2022
Hajmi0,6 Mb.
#754293
1   ...   29   30   31   32   33   34   35   36   ...   77
Bog'liq
Parallel dasturlash (1)

11-ma’ruza. OpenMP dasturiy texnologiyasi

11.1. Asosiy tushunchalar. Dasturni kompilyatsiya qilish


OpenMP mexanizmlaridan foydalanish uchun dasturni tegishli kalitni koʻrsatgan holda OpenMP-ni qoʻllab-quvvatlaydigan kompilyator bilan kompilyatsiya qilishingiz kerak (masalan, -openmp kompilyator kaliti icc/ifort, gcc da ishlatiladi.
Kompilyator OpenMP direktivalarini sharhlaydi va parallel kod ishlab chiqaradi. OpenMP-ni qoʻllab-quvvatlamaydigan kompilyatorlardan foydalanilganda, OpenMP direktivalari qoʻshimcha xabarlarsiz e’tiborga olinmaydi.
OpenMP-ni qoʻllab-quvvatlaydigan kompilyator dasturning parallel versiyasiga xos boʻlgan alohida bloklarni shartli ravishda kompilyatsiya qilish uchun ishlatilishi mumkin boʻlgan _OPENMP makrosini belgilaydi. Ushbu makros yyyymm formatida aniqlanadi, bu erda yyyy va mm qoʻllab-quvvatlanadigan OpenMP standarti qabul qilingan yil va oy raqamlari. Masalan, OpenMP 3.0 standartini qoʻllab-quvvatlovchi kompilyator 200805 da _OPENMP ni belgilaydi.
Kompilyator OpenMP ning istalgan versiyasini qoʻllab-quvvatlashini tekshirish uchun #ifdef yoki #ifndef shartli kompilyatsiya direktivalarini yozish kifoya. C shartli kompilyatsiya qilishning eng oddiy misollari quyida keltirilgan.


1-misol. C tilida shartli kompilyatsiya


#include
int main(){


#ifdef _OPENMP
printf("OpenMP is supported!\n");
#endif
}
Parallel dastur modeli. OpenMP da parallellashtirish dastur matniga maxsus direktivlarni kiritish, shuningdek, yordamchi funksiyalarni chaqirish orqali aniq amalga oshiriladi. OpenMP dan foydalanganda parallel dasturlashning SPMD modeli qabul qilinadi, uning doirasida barcha parallel oqimlar uchun bir xil kod ishlatiladi.
Dastur ketma-ket maydondan boshlanadi - birinchi navbatda, bitta jarayon (oqim) ishlaydi, parallel maydonga kirishda ma’lum miqdordagi jarayonlar paydo boʻladi, ular orasida kodning qismlari keyinchalik taqsimlanadi. Parallel soha tugallangandan soʻng, bittadan (master) boshqa barcha oqimlar tugatiladi va ketma-ket soha boshlanadi. Dastur istalgan miqdordagi parallel va ketma-ket sohalarga ega boʻlishi mumkin. Bundan tashqari, parallel sohalar ham bir-birining ichiga joylashtirilishi mumkin.
Samarali parallel dasturni yozish uchun dasturni qayta ishlashga jalb qilingan barcha oqimlar foydali ish bilan bir xil yuklangan boʻlishi kerak. Bunga turli xil OpenMP mexanizmlari moʻljallangan, yuklanishni ehtiyotkorlik bilan muvozanatlash orqali erishiladi.
Muhim nuqta, shuningdek, umumiy ma’lumotlarga kirishni sinxronlashtirish zarurati. Bir nechta oqimlar uchun umumiy ma’lumotlarning mavjudligi bir vaqtning oʻzida mos kelmaydigan kirish bilan ziddiyatlarga olib keladi. Shu sababli, OpenMP funksiyasining muhim qismi ishlaydigan oqimlarni sinxronlashtirishning har xil turlarini amalga oshirish uchun moʻljallangan.
OpenMP bir xil fayllarga turli xil oqimlarning kirishini sinxronlashtirmaydi. Agar dasturning toʻgʻri ishlashi uchun zarur boʻlsa, foydalanuvchi sinxronizatsiya koʻrsatmalaridan yoki tegishli kutubxona funksiyalaridan aniq foydalanishi kerak. Har bir mavzu oʻz fayliga kirish uchun sinxronizatsiya talab qilinmaydi.

Download 0,6 Mb.

Do'stlaringiz bilan baham:
1   ...   29   30   31   32   33   34   35   36   ...   77




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish