MPI
kitaplığını kullanarak en kısa yolu denetlemek için bir program yazıyorum. İki senaryo vardır:
Ya da daha iyi bir yol buldum, durumda tamponun ilk yuvası resultBuff[0] = 1
belirtecektir ve daha iyi bir yol almak için arabellek içeriğini geri kalanı üzerinde gitmem gerekecek.
Diğer durumda resultBuff[0] = 0
ve arabellek diğer hücrelerinde herhangi bir değer göz ardı edemeyiz. durumdaMPI_Recv: Gönderilmiş olandan farklı bir boyut almak
MPI_Isend((void*)sendBuff, 11, MPI_INT, 0, 1, MPI_COMM_WORLD, &request);
daha iyi bir yolu bulundu vermedi:
Ben daha iyi bir yol buldum durumdave bunu saklanan resultBuff[1]
resultBuff[10]
için: me ayrı MPI_Isend
aramaları kullanmak için
MPI_Isend((void*)sendBuff, 1, MPI_INT, 0, 1, MPI_COMM_WORLD, &request);
Ve her iki durumda da
Ben kullanacağız Sonucu almak için 10MPI_Recv((void*)resultBuff, 11, MPI_INT, MPI_ANY_SOURCE, 1, MPI_COMM_WORLD, &status);
.
Bu işe yarar mı?
Eğer daha iyi bir yol göndermezseniz iletişim maliyetlerini kaydeder miydim?
Not: resultBuff
"Hiçbir şey bulamadım" boyutuna 11. Söyleyecek bir mesaj göndermek gerekmez
Bu soruya cevap vermiyor, sadece etrafta dolaşıyor. – Nayish
Yol hesaplaması bittiğinde hala bilmem gerek. "İşim bittiğini" belirten bir mesaj göndermem gerekiyor, sadece daha iyi bir yol bulup bulmadığını bileceğim. – hizki