• Fan: kompyuter arxitekturasi
  • Mavzu; Openmp paketi yordamida parallel dasturlash




    Download 204.69 Kb.
    Sana30.11.2023
    Hajmi204.69 Kb.
    #108623
    Bog'liq
    Mavzu; Openmp paketi yordamida parallel dasturlash-fayllar.org
    5nleNeNOLpXoVmmPICw-oQF7ud4E42 V (1), mustaqil ish, 3-Mustaqil ish (1), Mobil tarmoqlari. 3G (umts va wcdma), 4G (Wimax va lte) va 5G te-fayllar.org, 9-mustaqil ish Reja Transport tarmoqlari, 2-Mustaqil ish, Mavzular, ixtisoslashtirilgan-transport-vositalariga-texnik-xizmat-ko-rsatishni-vaqtida-amalga-ishirishning-ekspluatatsiya-sharoitidagi-salmog-i, 2-Amaliy ish (1), 1-Amaliy ish (1), MIT 1- Amaliy , 2- amaliy mashg’ulot. Mashinali o’qitishda instrumental vositala, 14-Ma’ruza Matlabda hisoblash ishlarini bajarish. Reja Matlab , Mustaqil ish (2)

    Mavzu; Openmp paketi yordamida parallel dasturlash


    O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI



    MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI QARSHI FILIALI KOMPYUTER INJINIRINGI FAKULTETI III BOSQICH KI-11-18-GURUH TALABASI BAJARGAN
    MUSTAQIL ISHI

    Fan: kompyuter arxitekturasi

    Bajardi: Hayitov Z


    Qabul qildi: Farruh Kadirov


    Mavzu; OpenMP paketi yordamida parallel dasturlash.
    Reja;

    1 Parallel dasturlash


    2 Parallel dasturlarni yozish
    3 Parallel arxitektura
    Parallel dasturlash ketma-ketlikda qo'llaniladi
    dastur bajarilish vaqtini yoki ketma-ketligini qisqartirishi kerak dastur, ma'lumotlarning katta hajmini hisobga olgan holda, bittasining xotirasiga kirishni to'xtatadi kompyuter.
    Yuqori samarali hisoblash sohasida rivojlanish yo'nalishi adolatli
    ushbu ikkita muammoni hal qilishga qaratilgan: bilan kuchli hisoblash tizimlarini yaratish bir tomondan katta miqdordagi RAM va tegishli dasturiy ta'minotni ishlab chiqish boshqasi bilan. Asosan, hamma savol narxlar / ishlash nisbati minimallashtirish bilan bog'liq. Axir, har doim samarali bo'lgan hisoblash tizimini qurish (yig'ish) mumkin muammoni hal qiling, ammo bunday echimning narxi etarli bo'ladimi. Mumkin kompyuter texnologiyalari rivojlanishining ikkita yo'nalishini ajratib ko'rsatish: vektorli mashinalar (Cray) va klasterlar (oddiy kompyuterlar, standart dasturiy ta'minot). Parallel dasturlarni yozish Parallel dasturlarni ishlab chiqish (PP) uchta asosiy bosqichdan iborat: Vazifani pastki topshiriqlarga ajratish. Ideal holda, ushbu kichik topshiriqlar mustaqil ravishda ishlaydi bir-biridan (ma'lumotlar mahalliyligi printsipi). Subtasklar o'rtasida ma'lumotlar almashinuvi qimmat operatsiya, ayniqsa, bu tarmoq almashinuvi bo'lsa.
    Vazifalarni protsessorlar o'rtasida taqsimlash (virtual protsessorlar). Ba'zi hollarda ushbu masala PP ish vaqtining ixtiyoriga topshirilishi mumkin. Qandaydir parallel kutubxonadan foydalanib dastur yozish. Tanlash kutubxonalar dastur ishlaydigan platformaga bog'liq bo'lishi mumkin
    talab qilinadigan ishlash darajasi va vazifaning o'zi. Parallel arxitektura Ko'pincha, barcha hisoblash tizimlari va kompyuterlar uch guruhga bo'linadi: Tarqatilgan xotira tizimlari. Har bir protsessor o'z xotirasiga ega va qila olmaydi to'g'ridan-to'g'ri boshqa protsessorning xotirasiga kirish. Bunday tizimlar uchun dasturlarni ishlab chiqishda dasturchi barchasini aniq belgilashi kerak aloqa tizimi (Xabarlarni uzatish). Kutubxonalar: MPI, PVM, Shmem (faqat Cray).
    Umumiy (umumiy) xotiraga ega tizimlar. Protsessor to'g'ridan-to'g'ri kirishi mumkin boshqa protsessorning xotirasi. Protsessorlar bitta avtobusda (SMP) o'tirishi mumkin. Umumiy xotira jismonan ajratilishi mumkin, ammo keyinchalik masofadan boshqarish pultiga kirish narxi
    xotira juda yuqori bo'lishi mumkin va buni dasturiy ta'minot dizaynerlari hisobga olishlari kerak.
    Dasturiy ta'minotni ishlab chiqish yondashuvlari: Mavzular, kompilyator ko'rsatmalari (OpenMP), uzatish mexanizmi
    xabarlar.
    OpenMP

    OpenMP-ga kirish


    OpenMP - umumiy xotira tizimlari uchun parallel dasturlarni yozish mexanizmi. Tuzuvchi direktivalari va kutubxona funktsiyalari to'plamidan iborat. C / C ++, Fortran-da osongina ko'p tarmoqli dasturlarni yaratishga imkon beradi. Uskuna ishlab chiqaruvchilari (Intel, HP, SGI, Sun, IBM), ishlab chiquvchilar tomonidan qo'llab-quvvatlanadi kompilyatorlar (Intel, Microsoft, KAI, PGI, PSR, APR, Absoft)
    OpenMP dasturlash modeli
    Asosiy ip kerak bo'lganda bolalar iplarini tug'diradi.
    Fork-join modeli.
    Dastlabki kodning muhim nuqtalariga kompilyator ko'rsatmalarini kiritish orqali dasturlash

    dasturlar. Tuzuvchi ushbu direktivalarni sharhlaydi va tegishli joylarga kiritadi dastur kutubxonasi kod bo'limlarini parallellashtirishga chaqiradi.




    Direktiv uchun #Pragma omp parallel bu ko'chadan bo'linish kerakligini bildiradi iplar orasidagi takrorlash orqali.
    Mavzular soni dasturdan yoki ish vaqti davomida boshqarilishi mumkin dasturlar - muhit o'zgaruvchisi OMP_NUM_THREADS. Shuni ta'kidlash kerakki, ishlab chiquvchi ipni sinxronlashtirish va qaramlik uchun javobgardir ma'lumotlar o'rtasida.
    Dasturni OpenMP ko'magi bilan kompilyatsiya qilish uchun kompilyator kerak qo'shimcha kalitni ko'rsating:



    OpenMP

    OpenMP-ga kirish


    OpenMP - umumiy xotira tizimlari uchun parallel dasturlarni yozish mexanizmi.
    Tuzuvchi direktivalari va kutubxona funktsiyalari to'plamidan iborat.
    C / C ++, Fortran-da osongina ko'p tarmoqli dasturlarni yaratishga imkon beradi.
    Uskuna ishlab chiqaruvchilari (Intel, HP, SGI, Sun, IBM), ishlab chiquvchilar tomonidan qo'llab-quvvatlanadi kompilyatorlar (Intel, Microsoft, KAI, PGI, PSR, APR, Absoft)
    OpenMP dasturlash modeli
    Asosiy ip kerak bo'lganda bolalar iplarini tug'diradi.
    Fork-join modeli.
    Dastlabki kodning muhim nuqtalariga kompilyator ko'rsatmalarini kiritish orqali dasturlash
    dasturlar. Tuzuvchi ushbu direktivalarni sharhlaydi va tegishli joylarga kiritadi dastur kutubxonasi kod bo'limlarini parallellashtirishga chaqiradi.



    Direktiv uchun #Pragma omp parallel bu ko'chadan bo'linish kerakligini bildiradi iplar orasidagi takrorlash orqali.
    Mavzular soni dasturdan yoki ish vaqti davomida boshqarilishi mumkin dasturlar - muhit o'zgaruvchisi OMP_NUM_THREADS. Shuni ta'kidlash kerakki, ishlab chiquvchi ipni sinxronlashtirish va qaramlik uchun javobgardir ma'lumotlar o'rtasida.
    Dasturni OpenMP ko'magi bilan kompilyatsiya qilish uchun kompilyator kerak qo'shimcha kalitni ko'rsating:


    Oqimlar qanday o'zaro ta'sir qiladi? Umumiy xotira modelida ish zarrachalari birgalikda foydalaniladi o'zgaruvchilar. Dasturda bunday o'zgaruvchilarga beparvolik bilan munosabatda bo'lgan taqdirda, poyga holati yuzaga keladi. Bu oqimlarning kelib chiqishi bilan bog'liq parallel ravishda bajariladi va shunga muvofiq umumiy foydalanishga kirishning ketma-ketligi o'zgaruvchilar bir dasturdan boshqasiga o'tishi bilan farq qilishi mumkin. Raqobatdagi xatolarni boshqarish uchun iplarning ishi sinxronlashtirilishi kerak. Uchun sinxronizatsiya ibtidoiylari, masalan, muhim bo'limlar, to'siqlar, atom operatsiyalari va qulflar 1. Shuni ta'kidlash kerakki, sinxronizatsiya talab qilinishi mumkin qo'shimcha qo'shimcha xarajatlar dasturidan va o'ylash va tarqatish yaxshiroqdir sinxronlash punktlari soni minimallashtirilishi uchun ma'lumotlar.


    http://fayllar.org
    Download 204.69 Kb.




    Download 204.69 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Mavzu; Openmp paketi yordamida parallel dasturlash

    Download 204.69 Kb.