Bagikan melalui


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

Lihat juga

Fungsi Kolektif MPI

MPI_Datatype

MPI_Gather

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome