Mpi any source, mpi any tag mpi get Count, mpi probe,mpi wtime. Xabarni qabul qilish


) Qabul qiluvchi vazifa kutilgan xabarning uzunligini oldindan bilmasa. Foydalanuvchi buferi dinamik xotirada ishga tushiriladi



Yüklə 74,45 Kb.
səhifə3/5
tarix25.12.2022
ölçüsü74,45 Kb.
#121810
1   2   3   4   5
4- amaliy ish

1) Qabul qiluvchi vazifa kutilgan xabarning uzunligini oldindan bilmasa. Foydalanuvchi buferi dinamik xotirada ishga tushiriladi:

  • 1) Qabul qiluvchi vazifa kutilgan xabarning uzunligini oldindan bilmasa. Foydalanuvchi buferi dinamik xotirada ishga tushiriladi:
  • MPI_Probe( MPI_ANY_SOURCE, int msgtag, MPI_COMM_WORLD, &status );
  • MPI_Get_count( &status, MPI_INT, &bufElems );
  • buf = malloc( sizeof(int) * bufElems );
  • MPI_Recv( buf, bufElems, MPI_INT, MPI_ANY_SOURCE, int msgtag, MPI_COMM_WORLD, &status );
  • /* MPI_Recv faqat tizim buferidagi ma'lumotlarni foydalanuvchi buferiga ko’chiradi*/
  • Buning o'rniga, albatta, siz shunchaki qabul qiluvchi tomonda mumkin bo'lgan eng uzun xabarlarni joylashtirish uchun katta bo'lgan buferga ega bo'lishingiz mumkin, ammo agar xabarlar uzunligi juda keng farq qilishi mumkin bo'lsa, bu uslub maqbul emas.

2) Qabul qiluvchining vazifasi har xil turdagi va turli jo'natuvchilardan xabarlarni to'plaganida. MPI_Probesiz, foydalanuvchi buferiga xabarlarni olish tartibi kompilyatsiya vaqtida o'rnatilishi kerak:

  • 2) Qabul qiluvchining vazifasi har xil turdagi va turli jo'natuvchilardan xabarlarni to'plaganida. MPI_Probesiz, foydalanuvchi buferiga xabarlarni olish tartibi kompilyatsiya vaqtida o'rnatilishi kerak:
  • MPI_Recv( floatBuf, floatBufSize, MPI_FLOAT, MPI_ANY_SOURCE, tagFloatData, ... );
  • MPI_Recv( intBuf,intBufSize,MPI_INT,MPI_ANY_SOURCE, tagIntData,... );
  • MPI_Recv( charBuf,charBufSize,MPI_CHAR,MPI_ANY_SOURCE, tagCharData,... );
  • Endi, agar bajarilish vaqtida tagCharData identifikatorli xabar qolgan ikkitasidan oldin kelsa, MPI MPI_Recv ga birinchi ikkita qo'ng'iroqlar davomida uni “mahkamlashga" majbur bo'ladi. Bu xotira yukiga to'la. MPI_Probe sizga xabarlarni foydalanuvchi buferiga olish tartibini ular qabul qiluvchi tomonga etib borish tartibiga qarab o’rnatishga imkon beradi, buni kompilyatsiya paytida emas, balki to'g'ridan-to'g'ri bajarish vaqtida amalga oshiradi:

Yüklə 74,45 Kb.

Dostları ilə paylaş:
1   2   3   4   5




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin