Topshiriq № Mavzu: mpi paketi yordamida misollar yechish Ishdan maqsad


-topshiriq. “Birinchi-ikkinchi ga sanash!” dasturi



Yüklə 261,33 Kb.
səhifə9/21
tarix07.01.2024
ölçüsü261,33 Kb.
#208656
1   ...   5   6   7   8   9   10   11   12   ...   21
amaliy7

3-topshiriq. “Birinchi-ikkinchi ga sanash!” dasturi
1. MPI qo‘llab-quvvatlashi bilan Microsoft Visual Studio 2022 da mpi_fist_second loyihasini yarating (1-topshiriqqa qarang).
2. mpi.h sarlavha faylini qo‘shing.
3. MPI_Init funksiyasidan foydalanib, MPI kutubxonasini initsializatsiya qiling.
4. MPI_Comm_rank funksiyasidan foydalanib dasturdagi jarayon nomerini aniqlang.
5. Uchta holatni aniqlash uchun switch yoki if operatoridan foydalaning:

  • jarayon nomeri 0 bo‘lsa, operatorlar sifatida MPI_Comm_size funksiyasidan foydalangan holda dasturdagi jarayonlar sonining aniqlaydigan va ekranga « processes.» satrini chop qiladiganlarni yozing

  • jarayon nomeri juft bo‘lsa, ya’ni, u 0 emas va ikkiga qoldiqsiz bo‘linadi (rank%2==0 ) – «I am : SECOND!» qatorni chop eting.

  • jarayon nomeri toq bo‘lsa, ya’ni, ikkiga qoldiqsiz bo‘linmasa (rank%2!=0 ) – «I am : FIRST!» qatorni chop eting.

6. MPI-ilovasini MPI_Finalize funksiyasi bilan tugating.
7. Ilovangizni kompilyatsiya qiling va ishga tushiring. To‘g‘ri natija ekranda chop qilinganligiga ishonch hosil qiling.
4-Topshiriq. “Nuqta-nuqta” kommunikatsiyalar: oddiy bloklangan almashinuvlar
1. MPI qo‘llab-quvvatlashi bilan Microsoft Visual Studio 2022 da mpi_send loyihasini yarating (1-topshiriqqa qarang).
2. MPI kutubxonasidan xabar o‘tishini blokirovka qilishning asosiy funksiyalari bilan tanishing:
int MPI_Send(void* buf , int count, MPI_Datatype data_type, int dest , int msgtag, MPI_Comm comm) –dest nomerli jarayon, count ta datatype turidagi elementlardan iborat msgtag identifikatorli xabarni jo‘natishni bloklash. Xabarning barcha elementlari buf buferda ketme-ket joylashadi. count ning qiymati nolga teng bo‘lishi mumkin. Yuborilayotgan elementlarining turi datatype oldindan belgilangan turdagi o‘zgarmaslar yordamida ko‘rsatilishi kerak. Xabarni o‘z-o‘zingizga yuborishingizga ruxsat beriladi.
Bloklash qismiy dasturdan qaytgandan so‘ng barcha parametrlarning to‘g‘ri qayta ishlatilishini kafolatlaydi. Ushbu kafolatni qanday amalga oshirishni tanlash: oraliq buferga nusxalash yoki uni to‘g‘ridan-to‘g‘ri dest jarayonga o‘tkazish, MPI ga qoldiriladi. Shuni alohida ta’kidlash kerakki, MPI_Send qismiy dasturidan qaytish xabar allaqachon dest jarayonga yuborilganligini yoki xabar MPI_Send bajarilgan jarayon ishlayotgan ishlov berish elementini tark etganligini anglatmaydi.

Yüklə 261,33 Kb.

Dostları ilə paylaş:
1   ...   5   6   7   8   9   10   11   12   ...   21




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin