MPI_Igather (Fungsi MPI_Igather)
Mengumpulkan data dari semua anggota grup ke satu anggota dengan cara yang tidak memblokir.
Sintaks
int WINAPI MPI_Igather(
_In_ void *sendbuf,
int sendcount,
MPI_Datatype sendtype,
_Out_opt_ void *recvbuf,
_In_ int recvcount,
_In_ MPI_Datatype recvtype,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parameter
sendbuf [in]
Penunjuk ke buffer yang berisi data yang akan dikirim ke akar. Buffer terdiri dari elemen berturut-turut sendcount dari MPI_Datatype yang ditunjukkan oleh handel sendtype . Panjang pesan ditentukan dalam hal jumlah elemen, bukan jumlah byte.sendcount
Jumlah elemen sendtype dalam sendbuf. Jika nilainya nol, bagian data dari pesan kosong.sendtype
Handel MPI_Datatype mewakili jenis data setiap elemen di sendbuf.recvbuf [keluar, opsional]
Penunjuk ke buffer yang berisi data yang diterima dari setiap proses pada root, termasuk data yang dikirim oleh proses root (hanya signifikan di root). Buffer recvbuf penerima diabaikan untuk semua proses non-root. Pada proses akar, recvbuf terdiri dari elemen berturut-turut recvcountdari MPI_Datatype yang ditunjukkan oleh handel recvtype . Panjang pesan ditentukan dalam hal jumlah elemen, bukan jumlah byte.recvcount [in]
Jumlah elemen recvtype dalam recvbuf. Jika nilainya nol, bagian data dari pesan kosong (hanya signifikan di root).recvtype [in]
Handel MPI_Datatype mewakili jenis data setiap elemen dalam recvbuf (hanya signifikan pada root).root [in]
Peringkat proses penerimaan dalam MPI_Commcomm.comm [in]
Pegangan MPI_Comm komunikator.request [out]
Handel MPI_Request mewakili operasi komunikasi.
Mengembalikan nilai
Mengembalikan MPI_SUCCESS pada keberhasilan. Jika tidak, nilai yang dikembalikan adalah kode kesalahan.
Di Fortran, nilai yang dikembalikan disimpan dalam parameter IERROR .
Fortran
MPI_IGATHER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE,
ROOT, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR
Keterangan
Panggilan non-pemblokiran memulai operasi pengumpulan kolektif yang harus diselesaikan dalam panggilan penyelesaian terpisah. Setelah dimulai, operasi dapat berkembang secara independen dari komputasi atau komunikasi lainnya pada proses yang berpartisipasi. Dengan cara ini, operasi pengumpulan non-pemblokiran dapat mengurangi kemungkinan efek sinkronisasi dari mengumpulkan operasi dengan menjalankannya di "latar belakang."
Semua panggilan penyelesaian (misalnya, MPI_Wait) didukung untuk operasi pengumpulan non-pemblokiran.
Persyaratan
Produk |
Microsoft MPI v6 |
Header |
Mpi.h; Mpif.h |
Pustaka |
Msmpi.lib |
DLL |
Msmpi.dll |