• Kerakli jihozlar
  • 3- amaliy mashg’ulot. Mavzu




    Download 251.03 Kb.
    Pdf ko'rish
    bet1/6
    Sana10.03.2024
    Hajmi251.03 Kb.
    #169543
      1   2   3   4   5   6
    Bog'liq
    VH2UNQ95N9MBdaWb363, 167-169, Ozgarmas-tok-generatorlari, O‘zgarmas tok mashinasining tuzilishi


    3- Amaliy mashg’ulot. 
    Mavzu: Open MP paket imkoniyatlari, MPI paketidan foydalanish yo‘llari. 
    Ishdan maqsad: OpenMP paketi uning afzalliklari imkoniyatlari haqida maʼlumot 
    olish. OpenMP paketi yordamida algoritmlarni bajarish yoʻllarini oʻrganish. 
    Kerakli jihozlar : Noutbook, shaxsiy kompyuter, internet tarmog’i, kompyuter 
    qo’shimcha qurilmalari hamda texnik jihozlari. 
    An'anaviy dasturlash tillari va maxsus izohlardan foydalanish asosida umumiy 
    xotira kompyuterlari uchun eng mashhur dasturiy vositalaridan biri hozirda 
    OpenMP texnologiyasidir. Vaqtinchalik dastur asos sifatida olinadi va parallel 
    versiyasini yaratadi, foydalanuvchi bir qator dir direktivalari, funktsiyalari va atrof-
    muhit o'zgaruvchilari bilan ta'minlanadi. Yaratilgan parallel dastur OpenMP API-ni 
    qo'llab-quvvatlaydigan turli xil umumiy xotira kompyuterlari o'rtasida ko'chma 
    bo'ladi deb taxminqilinadi. 
    OpenMP [omp] - umumiy xotira kompyuterlari uchun parallel dasturlarni yaratish 
    uchun sanoat standarti bo'lgan API. OpenMPning asosiy maqsadi-aylanish 
    yo'naltirilgan dasturlarni yozishni osonlashtirishdir.Bunday dasturlar tez-tez yuqori 
    samarali hisoblash uchun yaratiladi. Bundan tashqari, komponentlar OpenMP 
    tarkibiga SPMD, "master and workflow",quvur liniyasi kabi parallel usullarini 
    qo'llab-quvvatlash uchun kiritilgan. 
    OpenMP juda muvaffaqiyatli parallel dasturlash tiliga aylandi. U bozorga kiradigan 
    har bir xotira almashadigan kompyuterda mavjud. Bundan tashqari, Intel yaqinda 
    Klasterlarni qo'llab-quvvatlash uchun OpenMP versiyasini yaratdi. OpenMP 
    parallelizmin mavjud ketma-ketlik dasturi parallel holga kelgunicha asta-sekin 
    qo'shilgan dasturlash uslubini qo'llab-quvvatlaydi.Biroq,bu afzallik OpenMP ning 
    eng zaif nuqtasidir. Agar muvozanat asta-sekin qo'shilsa, dasturchi dasturni keng 
    miqyosda qayta qurish qila olmaydi, bu ko'pincha maksimal ishlash uchun zarur 
    bo'ladi. 
    OpenMP doimiy rivojlanayotgan standartdir. OpenMP Architecture Review Board 
    deb nomlangan sanoat guruhi ushbu tilga yangi kengaytmalar kiritish uchun 
    muntazam uchrashuvlar o'tkazadi. OpenMP ning keyingi versiyasi (3.0 versiyasi) 
    vazifa navbatini tashkil etish qobiliyatini o'z ichiga oladi. Bu esa, OpenMP-ga 
    yanada keng boshqaruv tuzilmalarini boshqarish va umumiy umumiy recursiv 
    algoritmlardan foydalanish imkonini beradi. 
    OpenMP texnologiyasi foydalanuvchi dasturning parallel va ketma-ket ijro etilishi 
    uchun dasturning bitta versiyasiga ega bo'lishini ta'minlashni maqsad qiladi. Biroq, 
    faqat parallel rejimda to'g'ri ishlashi yoki ketma-ket rejimda boshqa natija beradigan 
    dasturlarni yaratish mumkin. Bundan tashqari, yaxlitlash xatolarining to'planishi 


    tufayli turli xil ish zarrachalaridan foydalangan holda hisoblash natijalari ayrim 
    hollarda farq qilishimumkin. 
    Ushbu standart OpenMP ARB notijorat tashkiloti tomonidan ishlab chiqilgan 
    (Arxitektura tadqiqoti kengashi) [1], bu SMP-arxitektura va dasturiy ta'minotni 
    ishlab chiqaruvchi yirik kompaniyalarning vakillari hisoblanadi. OpenMP 
    FORTRAN va C / C ++ tillari bilan ishlashni qo'llab-quvvatlaydi. Fortran tilining 
    birinchi spetsifikatsiyasi oktyabr 1997-yilda va C/C++ tilining 1998 yil oktyabrida 
    paydo bo'lishi. Hozirgi vaqtda eng so'nggi rasmiy standart spetsifikatsiya OpenMP[3] 
    (2008 yil may oyida qabul qilingan). 
    OpenMP mexanizmlarini ishlatish uchun OpenMP derivatori bilan mos kalit bilan 
    kompilyatsiya qilishingiz kerak (masalan, icc / ifort -openmp derleyici kaliti
    gcc/gfortran-fopenmp,SunStudio-xopenmp,VisualC++-/openmp,PGI-mp). 
    Derleyici OpenMP direktivalarini sharhlaydi va parallel kod yaratadi. OpenMP-ni 
    qo'llamaydigan 
    kompilyatorlardan 
    foydalanilganda 
    OpenMP 
    direktivlari 
    qo'shimcha xabarlarsiz e'tiborsizqilinadi. 
    OpenMP yordamiga ega bo'lgan kompilyator, dasturning parallel versiyasi uchun 
    odatiy bo'lgan alohida bloklarni shartli ravishda kompilyatsiya qilish uchun 
    ishlatilishi mumkin bo'lgan _OPENMP so'lini belgilaydi. Bu so'l yyyym formatida 
    aniqlanadi, bu erda yyyy va mm - qo'llab-quvvatlanadigan OpenMP standarti qabul 
    qilingan yil va oy uchun raqamlar. Masalan, OpenMP 3.0 standartini qo'llab- 
    quvvatlaydigan derleyici 2008/05 da _OPENMP ni belgilaydi. 
    Derivatning OpenMP ning har qanday versiyasini qo'llab-quvvatlashini tekshirish 
    uchun, shartli derleme ko'rsatmalarini #i fdef yoki #i f ndef yozib olish kifoya. C va 
    Fortran dasturlarida shartli kompilyatsiya qilishning eng oddiy koʻrinishi quyidagi 
    misolda keltirilgan: 
    #include  
    int main(){
    #if def _OPENMP 
    printf("OpenlVPis supported!\n");
    #end if 

    OpenMP da parallelizatsiya dasturiy matnga maxsus ko'rsatmalar kiritilishi va 
    yordamchi funktsiyalarni chaqirish orqali aniq amalga oshiriladi. OpenMP dan 
    foydalanilganda, parallel dasturlashtirilgan SPMD (Single Program Multiple Data) 
    parallel dasturiy modeli qabul qilinadi, uning ichida bir xil kod barcha parallel iplar 
    uchun ishlatiladi. 



    Download 251.03 Kb.
      1   2   3   4   5   6




    Download 251.03 Kb.
    Pdf ko'rish