• MPI_Send
  • intMPI_Send(void* buf, int count, MPI_Datatype datatype, int dest, int msgtag, MPI_Comm comm)




    Download 435,82 Kb.
    bet7/18
    Sana07.02.2024
    Hajmi435,82 Kb.
    #152842
    1   2   3   4   5   6   7   8   9   10   ...   18
    Bog'liq
    Mustaqil ishi Xakimov Allamurod (3)

    intMPI_Send(void* buf, int count, MPI_Datatype datatype, int dest, int msgtag, MPI_Comm comm)

  • buf – xabar yuborish buferining bosh manzili;

  • count - xabardagi uzatiladigan elementlar soni;

  • datatype - uzatilgan elementlarning turi;

  • dest - qabul qilish jarayonining raqami;

  • msgtag - xabar identifikatori;

  • comm - bu guruh identifikatori.

  • Xabarning barcha elementlari bufer bufida ketma-ket joylashgan. O'z-o'ziga xabar yuborishga ruxsat beriladi, lekin bu boshi berk ko'chaga olib kelishi mumkin.

  • int MPI_Recv(void* buf, int count, MPI_Datatype datatype, int source, int msgtag, MPI_Comm comm, MPI_Status*status)

  • OUT buf – xabarni qabul qiluvchi bufer manzili;

  • count - qabul qilingan xabardagi elementlarning maksimal soni;

  • datatype- qabul qilingan xabar elementlarining turi;

  • source - jo'natuvchi jarayonning raqami;

  • msgtag - qabul qilingan xabarning identifikatori;

  • OUT status – qabul qilingan xabar parametrlari.

  • Blokirovkalash pastki dastur qaytgandan so'ng xabarning barcha elementlari qabul qilinishini va bufer bufiga joylashtirilishini ta'minlaydi.Agar jarayon boshqa jarayonga ikkita xabar yuborsa va ikkala xabar ham bir xil MPI_Recv chaqiruviga mos kelsa, birinchi yuborilgan xabar avval qabul qilinadi.


    MPI_Send: Bir protsessdan boshqa bir protsessga ma'lumotlarni yuborish uchun ishlatiladi.
    MPI_Recv: Bir protsessdan ma'lumotlarni qabul qilish uchun ishlatiladi.
    Xabar almashish turining tanlashi dastur tomonidan o'zgartiriladi va maqsadga muvofiq tanlanadi. Point-to-Point xabar almashishi, bir protessdan boshqa bir protessga o'zaro aloqani ta'minlaydi va ma'lumotlarni to'g'ridan-to'g'ri almashishga imkon beradi. Collective xabar almashishi esa bir protess tomonidan boshqa barcha protesslarga ma'lumotlarni tarqatish, jamlashish yoki bo'lishishga imkon beradi. Synchronization xabar almashishi esa protesslarni bitta nuqtada to'planish va bajarilgan operatsiyalarning natijalarini sinxronizatsiya qilish uchun ishlatiladi.
    Turli xabar almashish turlari orasidagi farqlar:
    Point-to-Point xabar almashishida bir protessdan boshqa bir protessga ma'lumotlar birga yuboriladi va qabul qilinadi. Almashish amalga oshirilgach, yuboruvchi protess sodda yuborish operatsiyasidan keyin davom etadi, qabul qiluvchi protess esa ma'lumotni qabul qilgach, qabul qilish operatsiyasidan keyin davom etadi.
    Collective xabar almashish esa bir protess tomonidan barcha protesslarga ma'lumotlarni tarqatish, jamlashish yoki bo'lishish amalga oshiriladi. Barcha protesslar bir xil amalni bajarishadi va javobni kutyapmanlik holatida to'laganligi tekshirilishi mumkin.
    Synchronization xabar almashish esa barcha protesslarni bir joyda to'planish va operatsiyalar bajarilgandan so'ng davom etish uchun ishlatiladi.
    MPI xabar almashish turlari dasturlashda paralellikni o'rnatish va ma'lumotlarI apologize, but there seems to be an issue with the text you provided. It appears to be cut off after "MPI xabar almashish turlari dasturlashda paralellikni o'rnatish va ma'lumotlar.

    Download 435,82 Kb.
  • 1   2   3   4   5   6   7   8   9   10   ...   18




    Download 435,82 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    intMPI_Send(void* buf, int count, MPI_Datatype datatype, int dest, int msgtag, MPI_Comm comm)

    Download 435,82 Kb.