Kollektiv buyruq formati MPI_SCATTER
• Ma'lumotlarni jarayonlar bo'yicha taqsimlash
(Scatter).
• MPI_Scatter(sendbuf, sendcount, sendtype,
recvbuf, recvcount, recvtype, root, MPI_Comm
comm)
• Bu yerda:
• Sendbuf - taqsimlangan ma'lumotlar bloklarini
taqsimlash boshlanishining manzili;
• Sendcount - har bir jarayonga yuborilgan narsalar
soni;
• Sendtype - yuborilgan elementlarning turi;
• Recvbuf - qabul qilish buferining boshlanishi
manzili;
• Recvcount - olingan narsalar soni;
• Recvtype - qabul qilingan tovarlar turi;
• Root - jo'natish jarayonining raqami;
• Comm jo'natish jarayonining raqami;
Kollektiv buyruq formati MPI_GATHER
• Jarayonlardan ma'lumotlarni yig'ish (to'plash)
• MPI_Gather(sendbuf, sendcount, sendtype,
recvbuf, recvcount, recvtype, int root, MPI_Comm
comm)
• Bu yerda:
• sendbuf - yuborilgan ma'lumotlarni joylashtirish
boshlanishining manzili;
• sendcount - yuborilgan narsalar soni;
• sendtype - yuborilgan elementlarning turi;
• recvbuf - qabul qilish buferining boshlanishi
manzili;
• recvcount - har bir jarayondan olingan narsalar
soni;
• recvtype - olingan narsalar turi;
• root - qabul qiluvchining jarayon raqami;
• comm - kommunikator.
MPI-da jarayonlarni sinxronlashtirish
• Jarayonni sinxronlashtirish (to'siqlar)
MPI – misol: “Hello world”
• Dastur kodi
#include
#include
int main(int argc, char* argv[])
{
int rank, size;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
printf
(“I am %d from %d\n”, rank, size);
MPI_Finalize();
return 0;
}
Do'stlaringiz bilan baham: |