1 Openmp openMP



Download 13,46 Kb.
bet1/3
Sana15.12.2022
Hajmi13,46 Kb.
#886651
  1   2   3
Bog'liq
Mavzu; Openmp paketi yordamida parallel dasturlash (1)


1 OpenMP OpenMP
OpenMP-umumiy xotiraga ega tizimlar uchun parallel dasturlarni yozish mexanizmi. Kompilyator direktivalari va kutubxona funktsiyalari to'plamidan iborat. C/C++, Fortran-da juda ko'p ishlaydigan ilovalarni osongina yaratishga imkon beradi. Qurilma ishlab chiqaruvchilari (Intel, HP, SGI, Sun, IBM), ishlab chiquvchilar tomonidan qo'llab-quvvatlanadi kompilyatorlar (Intel, Microsoft, KAI, PSI, PSR, APR, Absoft) OpenMP dasturiy modeli Asosiy oqim zarur bo'lganda bolalar oqimlarini hosil qiladi. Fork-join modeli. Kompilyator direktivasi
Последовательный код
void main(){
double x[1000];
for(i=0; i<1000; i++){
calc_smth(&x[i]);
}
}
Параллельный код
void main(){
double x[1000];
#pragma omp parallel for ...
for(i=0; i<1000; i++){
calc_smth(&x[i]);
}
}
Direktiv #pragma omp parallel for ushbu tsiklni ajratish kerakligini ko'rsatadi oqimlar orasidagi yinelemelerle. Oqimlarning soni dasturdan yoki ish vaqti muhitidan kuzatilishi mumkin dasturlar-atrof-muhit o'zgaruvchisi OMP_NUM_THREADS. Shuni ta'kidlash kerakki, ishlab chiquvchi oqimlarni sinxronlash va qaramlik uchun javobgardir ma'lumotlar orasida. Openmp-ni qo'llab-quvvatlaydigan dasturni kompilyatsiya qilish uchun derleyici kerak qo'shimcha kalitni ko'rsating:
icc -openmp prog.c
ifc -openmp prog.f
Oqimlar qanday ta'sir qiladi? Birgalikda xotiraga ega bo'lgan modelda oqimlarning o'zaro ta'siri birgalikda amalga oshiriladi o'zgaruvchilar. Dasturda bunday o'zgaruvchilar bilan noto'g'ri ishlash mumkin raqobat xatolar (poyga holati) paydo bo'ladi. Buning sababi shundaki, oqimlar parallel ravishda amalga oshiriladi va shunga ko'ra, birgalikda foydalanish tartibi o'zgaruvchilar dasturning bir ishga tushirilishidan boshqasiga farq qilishi mumkin. Raqobat xatolarini nazorat qilish uchun oqimlarning ishlashi sinxronlashtirilishi kerak. Uchun bu muhim bo'limlar, to'siqlar kabi sinxronizatsiya primitivlaridan foydalaniladi, atom operatsiyalari va qulflar 1 . Shuni ta'kidlash kerakki, sinxronizatsiya talab qilinishi mumkin dasturdan qo'shimcha xarajatlar kelib chiqadi va o'ylash va tarqatish yaxshiroqdir
ma'lumotlar sinxronizatsiya nuqtalarining sonini minimallashtirishga imkon beradi.
OpenMP Asoslari Sinopsis
Asosan, OpenMP dizaynlari kompilyator direktivalaridir C / C++ direktivalari uchun quyidagi ko'rinish mavjud:
#pragma omp qurilish [ahvoli]...]
Fortran uchun ko'rsatmalar quyidagi shakllardan birini qabul qiladi:
c $ omp qurilish [ahvoli]...]
!$omp qurilish [ahvoli]...]
* $ omp qurilish [ahvoli]..
OpenMP dizaynlari ko'rsatmalar bo'lgani uchun, ularni emas, balki kompilyator tushunadi, ularni sog'inadi va hali openmp dasturini to'playdi, haqiqat izchil. Aksariyat hollarda OpenMP direktivalari faqat strukturaviy bloklarga nisbatan qo'llaniladi, qaysi yagona kirish nuqtasi va yagona chiqish nuqtasi bor. Faqat istisno-Fortran tilida STOP operatori va C/C++da Exit() funksiyasi.
#pragma omp parallel
{
L1:
wrk[id] = junk[id];
res[id] = wrk[id]*1.342;
if(conv(res)) goto L1;
}
printf("%d", id);
Правильно
#pragma omp parallel
{
L1:
wrk[id] = junk[id];
L2:
res[id] = wrk[id]*1.342;
if(conv(res)) goto L3;
goto L1;
}
if(not_done) goto L2;
L3:
printf("%d", id);


Download 13,46 Kb.

Do'stlaringiz bilan baham:
  1   2   3




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