• 1.Ishni bajarishdan maqsad
  • 1. Ishni bajarishdan maqsad: Parallelashtirishning zamonaviy instrumental vositasi hisoblangan Openmp kutubxonasi imkoniyatlarini o'rganish va uning yordamida parallel dasturlar tuzush ko'nikmasini hosil qilish. Nazariy qisim




    Download 0.5 Mb.
    Sana15.08.2023
    Hajmi0.5 Mb.
    #78701
    Bog'liq
    2-amaliy ish
    Малакавий амалиет кундалиги (2), 4-topshiriq, 1-amaliy ish, D 2, 3-b sinf reyting, iqtisodiyotning-modernizatsiyalash-sharoitida-asosiy-vositalar-hisobini-takomilashtirish-masalalari, dior.O\'RT, hayot faoliyat xavfsizligi

    O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
    MUHHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
    Telekommunikatsiyalar fakulteti 417-20 guruh talabasi Qurbonov Temurning Kompyuter arxitekturasi fanidan 2-amaliy ishi.

    Bajardi: Qurbonov Temur
    Qabul qildi: Raximov Mehriddin
    TOSHKENT-2023
    Mavzu:OpenMP parallellashtirish kutubxonasi bilan tanishish va uning yordamida parallel dasturlar tuzush.


    1.Ishni bajarishdan maqsad:
    Parallelashtirishning zamonaviy instrumental vositasi hisoblangan OpenMP kutubxonasi imkoniyatlarini o'rganish va uning yordamida parallel dasturlar tuzush ko'nikmasini hosil qilish.


    2.Nazariy qisim:
    OpenMP (Open Multi - Processing) – ko’p oqimli ilovalarni yaratish uchun mo’ljallangan amaliy dasturlashning interfeysi bo’lib, asosan umumiy xotiraga ega bo’lgan parallel hisoblash tizimlari uchun ishlab chiqilgan. OpenMP kompilyatorlar va maxsus funksiyalar kutubxonasi uchun direktivalar to’plamidan iborat. OpenMP standarti yaqin 15 yil ichida umumiy xotiraga ega arxitekturalarga qo’llanilgan holda yaratilgan.So’nggi yillarda taqsimlangan xotirali parallel hisoblash tizimlari uchun OpenMP standartining kengaytirilgan holda ishlab chiqilmoqda. 2005 - yilning oxirida Intel kompaniyasi Cluster OpenMP mahsulotini taqdim etdi, unda kengaytirilgan OpenMP ishlab chiqilgan bo’lib taqsimlangan xotirali parallel hisoblash tizimlari uchun mo’ljallangan. OpenMP spetsifikatsiyasini hisoblash va dasturlash texnikasi bo’yicha bir nechta yirik ishlab chiqaruvchi kompaniyalar (Intel, Hewlett-Packard, Silicon Graphics, Sun, IBM, Fujitsu, Hitachi, Siemens, Bull) yaratishmoqda, ularni OpenMP Architecture Review Board(ARB) deb nomlangan notijorat korxonasi tomonidan boshqariladi. OpenMP ko’p oqimli ilovalarni tez va yengil yaratishni Fortran va C/C++ algoritmik tillarda amalga oshiradi. OpenMP ning birinchi versiyasi 1997 - yilda Fortran tili uchun yaratilgan. C/C++ dasturlash tillari uchun esa 1998 - yilda yaratilgan. 2008 - yilda esa OpenMP ning 3.0 versiyasi taqdim etildi. OpenMP da parallel va ketma – ketlik . Parallel muhitga kirilgandan so’ng yangi OMP_NUM_THREADS-1 oqimlar yaratiladi, har bir oqim o’zining unikal nomeriga ega bo’ladi, bunda dastlabki oqim 0 nomer bilan belgialanadi va u bosh oqim (master) bo’ladi. Qolgan oqimlar raqam sifatida butun sonlar 1 dan OMP_NUM_THREADS – 1gacha bo’ladi. Oqimlar soni belgilangan parallel muhitda bajariladi va ushbu muhitdan chiqib ketishgacha o’zgarmay qoladi. Parallel muhitdan chiqib ketgandan so’ng sinxronizatsiya yordamida bosh oqimdan boshqa barcha oqimlar yo’q qilinadi.


    MISOL:
    //example4.c: add all elements in an array in parallel
    #include

    int main() {

    const int N=100;
    int a[N];

    //initialize


    for (int i=0; i < N; i++)
    a[i] = i;

    //compute sum


    int local_sum, sum;
    #pragma omp parallel private(local_sum) shared(sum)
    {
    local_sum =0;
    //the array is distributde statically between threads
    #pragma omp for schedule(static,1)
    for (int i=0; i< N; i++) {
    local_sum += a[i];
    }

    //each thread calculated its local_sum. ALl threads have to add to


    //the global sum. It is critical that this operation is atomic.

    #pragma omp critical


    sum += local_sum;
    }

    printf("sum=%d should be %d\n", sum, N*(N-1)/2);


    }
    NATIJA:

    Download 0.5 Mb.




    Download 0.5 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    1. Ishni bajarishdan maqsad: Parallelashtirishning zamonaviy instrumental vositasi hisoblangan Openmp kutubxonasi imkoniyatlarini o'rganish va uning yordamida parallel dasturlar tuzush ko'nikmasini hosil qilish. Nazariy qisim

    Download 0.5 Mb.