Parallel dasturlash


int omp_get_num_threads(void)



Download 0,6 Mb.
bet54/77
Sana07.07.2022
Hajmi0,6 Mb.
#754293
1   ...   50   51   52   53   54   55   56   57   ...   77
Bog'liq
Parallel dasturlash (1)

int omp_get_num_threads(void);
1-misol omp_get_num_threads() va omp_get_thread_num() funksiyalarining ishlashini koʻrsatadi. Tartib raqami 0 ga teng boʻlgan oqim hosil qilingan oqimlarning umumiy sonini, qolgan oqimlar esa oʻz tartib raqamini chop etadi.

#include


#include
int main(int argc, char *argv[])
{
int count, num;
#pragma omp parallel
{
count=omp_get_num_threads();


num=omp_get_thread_num();


if (num == 0) printf("Jami oqimlar: %d\n", count); else printf("oqim raqami %d\n", num);


}
}
omp_get_thread_num() va omp_get_num_threads() funksiyalaridan foydalanish har bir oqimga bajarilishi uchun oʻziga xos kod qismini belgilash va shu bilan MPI texnologiyasi uslubida ishni oqimlar oʻrtasida taqsimlash imkonini beradi. Biroq, OpenMPda ushbu dasturlash uslubidan foydalanish har doim ham oqlanmaydi - bu holda dasturchi umumiy ma’lumotlarga kirishni sinxronlashtirishni aniq tashkil qilishi kerak. OpenMPda ishni taqsimlashning boshqa usullari ushbu ishning koʻp qismini avtomatik ravishda ta’minlaydi.
Parallel sikllar. Agar parallel sohada sikl operatori uchrasa, u holda umumiy qoidaga koʻra, u joriy guruhning barcha oqimlari tomonidan bajariladi, ya’ni har bir oqim bu siklning barcha takrorlanishini bajaradi. Sikl iteratsiyalarini turli oqimlar oʻrtasida taqsimlash uchun for direktivasidan foydalanish mumkin for (do... [end do]).

C:
#pragma omp for [opsiya [[,] opsiya]...]


Ushbu koʻrsatma ushbu direktivadan keyingi blokga tegishli boʻlib, u for (do) tarkibidagi operatorlarni oʻz ichiga oladi.
Mumkin boʻlgan opsiyalar:
Private (roʻyxat) - har bir oqimda lokal nusxa hosil qilinadigan oʻzgaruvchilar roʻyxatini belgilaydi; roʻyxatdagi oʻzgaruvchilarning lokal nusxalarining boshlangʻich qiymati aniqlanmagan;
firstprivate (roʻyxat) - har bir oqimda lokal nusxa yaratiladigan oʻzgaruvchilar roʻyxatini belgilaydi; oʻzgaruvchilarning lokal nusxalari ushbu oʻzgaruvchilarning qiymatlari bilan asosiy oqimda ishga tushiriladi;
lastprivate (roʻyxat) - roʻyxatda keltirilgan oʻzgaruvchilarga tsiklning oxirgi iteratsiyasidan olingan natija beriladi;
reduction (operator: roʻyxat) - operator va umumiy oʻzgaruvchilar roʻyxatini belgilaydi; har bir ish oqimidagi har bir oʻzgaruvchi uchun lokal nusxalar yaratiladi; lokal nusxalar operator turiga koʻra ishga tushiriladi (qoʻshimcha operatsiyalar uchun - 0 yoki uning analoglari, multiplikativ operatsiyalar uchun - 1 yoki uning analoglari); berilgan bayonot siklning barcha takrorlashlari tugallangandan soʻng oʻzgaruvchilarning lokal nusxalarida bajariladi; operatori: C tili uchun - +, *, -, &, |, ^, &&, || operatorlarning bajarilish tartibi aniqlanmagan, shuning uchun natija ishga tushirishdan farq qilishi mumkin;
collapse(n) - bu parametr n ta ketma-ket bir-biriga yaqin joylashgan sikllar ushbu direktiva bilan bogʻlanganligini bildiradi; sikllar uchun oqimlar oʻrtasida boʻlingan umumiy iteratsiya maydoni hosil boʻladi; agar collapse opsiyasi koʻrsatilmagan boʻlsa, u holda direktiv faqat darhol keyingi sikl uchun amal qiladi;

Download 0,6 Mb.

Do'stlaringiz bilan baham:
1   ...   50   51   52   53   54   55   56   57   ...   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