Xabarlarni jamoaviy uzatish va qabul qilish
• Kollektiv aloqa MPI turlari :
• «hamma hammaga»
• «hamma bittaga»
• «bitta hammaga»
• Asosiy MPI Kollektiv aloqa buyruqlari
• komanda MPI_BCAST
• komanda MPI_REDUCE
• komanda MPI_GATHER
• komanda MPI_SCATTER
Kollektiv buyruq formati MPI_BCAST
• Aloqa turi: bitta hammaga
• MPI_BCAST buyrug'i translyatsiya uchun
ishlatiladigan jamoaviy buyruqlardan biridir.
• C / C ++ da MPI_BCAST buyrug'idan foydalanish
quyidagicha:
• MPI_Bcast(&sendbuf, count, datatype, root, comm)
• Bu yerda:
• sendbuf: uzatish uchun buffer
• count: buferdagi yozuvlar soni
• datatype: MPI ma’lumot turi, (MPI_INTEGER) orqali
yuboriladigan
• root: host nomeri,
• comm: MPI_COMM_WORLD kommunikatori
ishlatiladi
Данные
Широковещатель
ная передача
П
р
о
ц
ес
сы
Kollektiv buyruq formati MPI_REDUCE
• Kommunikatsiya turi: hamma bittaga
• MPI_REDUCE buyrug'i hisoblash jarayonlarida
ma'lumotlarni qisqartirish yoki birlashtirish uchun
ishlatiladi.
• C / C ++ da MPI_REDUCE buyrug'idan foydalanish
quyidagicha:
• MPI_Reduce(&sendbuf, &recvbuf, count, datatype, op,
root, comm)
• Bu yerda:
• sendbuf: uzatish uchun ma'lumotlar buferi - qisqartiriladigan
ma'lumotlar
• recvbuf:ma'lumotlar buferini qabul qilish, ma'lumotlar
stenografiyasi
• count: buferdagi yozuvlar soni
• datatype: MPI yuborilgan ma'lumotlar turi
• op: ma'lumotlarni kamaytirish uchun bajariladigan operatsiya
turi(MPI_SUM, MPI_PROD, MPI_MAX, MPI_MIN
и т.д.)
• root: xost raqami ma'lumotlarini yuborish
• comm: kommunikator ishlatiladi
A0+A1+A2
B0+B1+B2
C0+C1+C2
Буфер приема
Корневой процесс
A0
B0
C0
Процесс 1
Буфер передачи
A1
B1
C1
Процесс 2
Буфер передачи
A2
B2
C2
Процесс 3
Буфер передачи
MPI_Reduce
|