Bagikan melalui


MPI_Iallgather (Fungsi MPI_Iallgather)

Mengumpulkan data dari semua anggota grup dan mengirim data ke semua anggota grup dengan cara yang tidak memblokir.

Sintaks

int MPIAPI MPI_Iallgather(
  _In_opt_  const void         *sendbuf,
  _In_             int         sendcount,
  _In_            MPI_Datatype sendtype,
  _Out_opt_       void         *recvbuf,
  _In_            int          recvcount,
  _In_            MPI_Datatype recvtype,
  _In_            MPI_Comm     comm,
  _Out_           MPI_Request  *request
);

Parameter

  • sendbuf [in, opsional]
    Penunjuk ke data yang akan dikirim ke semua proses dalam grup. Jumlah dan jenis data elemen dalam buffer ditentukan dalam parameter sendcount dan sendtype . Setiap elemen dalam buffer sesuai dengan proses dalam grup.

    Jika parameter comm mereferensikan intracommunicator, Anda dapat menentukan opsi di tempat dengan menentukan MPI_IN_PLACE di semua proses. Parameter sendcount dan sendtype diabaikan. Setiap proses memasukkan data dalam elemen buffer penerima yang sesuai. Proses nth mengirim data ke elemen nth dari buffer penerima.

  • sendcount [in]
    Jumlah elemen dalam buffer yang ditentukan dalam parameter sendbuf . Jika sendcount adalah nol, bagian data dari pesan kosong.

  • sendtype [in]
    Jenis data MPI dari elemen dalam buffer kirim.

  • recvbuf [keluar, opsional]
    Penunjuk ke buffer yang berisi data yang diterima dari setiap proses. Jumlah dan jenis data elemen dalam buffer ditentukan dalam parameter recvcount dan recvtype .

  • recvcount [in]
    Jumlah elemen dalam buffer penerima. Jika jumlahnya nol, bagian data pesan kosong.

  • recvtype [in]
    Jenis data MPI dari elemen dalam buffer penerima.

  • comm [in]
    Pegangan komunikator MPI_Comm.

  • request [out]
    Handel MPI_Request mewakili operasi komunikasi.

Nilai kembali

Mengembalikan MPI_SUCCESS pada keberhasilan. Jika tidak, nilai yang dikembalikan adalah kode kesalahan.

Di Fortran, nilai pengembalian disimpan dalam parameter IERROR .

Fortran

    MPI_IALLGATHER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, COMM, REQUEST, IERROR)
        <type> SENDBUF(*), RECVBUF(*)
        INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, COMM, REQUEST, IERROR

Keterangan

Panggilan non-pemblokiran memulai operasi pengurangan kolektif yang harus diselesaikan dalam panggilan penyelesaian terpisah. Setelah dimulai, operasi dapat maju secara independen dari komputasi atau komunikasi lainnya dalam proses yang berpartisipasi. Dengan cara ini, operasi pengurangan non-pemblokiran dapat mengurangi kemungkinan sinkronisasi efek operasi pengurangan dengan menjalankannya di "latar belakang."

Semua panggilan penyelesaian (misalnya, MPI_Wait) didukung untuk operasi pengurangan non-pemblokiran.

Persyaratan

Produk

Microsoft MPI v7

Header

Mpi.h; Mpif.h

Pustaka

Msmpi.lib

DLL

Msmpi.dll

Lihat juga

Fungsi Kolektif MPI

MPI_Gather

MPI_Datatype

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome