request: asinxron xabar uzatish identifikatori(komunikatsiya jarayonini identifikatsiyalaydi(OUT))
Jo’natish MPI_Send ga o'xshaydi, lekin bufer bufidagi butun xabarning qayta ishlanishini kutmasdan, uzatish jarayoni ishga tushirilgandan so'ng darhol pastki dasturdan qaytadi. Jo‘natishni yakunlanganligi haqida qo‘shimcha ma’lumot olmasdan turib, buferdan qayta foydalanib bo’lmaydi.
Int MPI_Irecv(void*buf, int count, MPI_Datatype datatype, int source, int msgtag, MPI_Comm comm, MPI_Request*request)
request: asinxron xabarni qabul qilish identifikatori((komunikatsiya jarayonini identifikatsiyalaydi(OUT))
Xabarni qabul qilish MPI_Recv ga o'xshaydi, lekin pastki dasturdan qaytish bufer bufida xabar qabul qilinishini kutmasdan, qabul qilish jarayoni ishga tushirilgandan so'ng darhol sodir bo'ladi. Qabul qilish jarayonining tugashini request parametri va MPI_Wait va MPI_Test protseduralari yordamida aniqlash mumkin.
Holatni tekshirish(blokirovkali)
Argumentlar:
request : aloqa jarayonini identifikatsiyalash(INOUT)
status : aloqa jarayoni (xabar) holati (OUT)
count : aloqa hodisalari soni (IN)
index : tugallangan hodisalar massivi elementi indeksi (OUT)
incount : aloqa hodisalari soni (IN)
outcount : tugallangan holatlar soni (OUT)
int MPI_Wait (MPI_Request *request, MPI_Status *status)
int MPI_Waitall (int count, MPI_Request *array_of_requests, MPI_Status *array_of_statuses)
int MPI_Waitany (int count, MPI_Request *array_of_requests, int *index, MPI_Status *status)
int MPI_Waitsome (int incount, MPI_Request *array_of_requests, int *outcount, int* array_of_indices, MPI_Status *array_of_statuses)