Bagikan melalui


MPI_Allreduce fungsi

Menggabungkan nilai dari semua proses dan mendistribusikan hasilnya kembali ke semua proses.

Sintaks

int MPIAPI MPI_Allreduce(
  _In_opt_  const void         *sendbuf,
  _Out_opt_       void         *recvbuf,
  _In_            int          count,
  _In_            MPI_Datatype datatype,
  _In_            MPI_Op       op,
  _In_            MPI_Comm     comm
);

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 hitungan dan jenis data.

    Jika parameter comm mereferensikan intrakomunikator, Anda dapat menentukan opsi di tempat dengan menentukan MPI_IN_PLACE di semua proses. Dalam hal ini, data input diambil pada setiap proses dari buffer penerima, di mana data tersebut akan digantikan oleh data output.

  • recvbuf [keluar, opsional]
    Penunjuk ke buffer untuk menerima hasil operasi pengurangan. Parameter ini hanya signifikan pada proses akar.

  • count [in]
    Jumlah elemen yang akan dikirim dari proses ini.

  • datatype [in]
    MPI_Datatype setiap elemen dalam buffer. Parameter ini harus kompatibel dengan operasi seperti yang ditentukan dalam parameter op .

  • op [in]
    Penanganan MPI_Op menunjukkan operasi pengurangan global untuk dilakukan. Handel dapat menunjukkan operasi bawaan atau yang ditentukan aplikasi. Untuk daftar operasi yang telah ditentukan sebelumnya, lihat MPI_Op.

  • comm [in]
    Pegangan MPI_Comm komunikator.

Nilai kembali

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

Di Fortran, nilai yang dikembalikan disimpan dalam parameter IERROR .

Fortran

    MPI_ALLREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM, IERROR)
        <type> SENDBUF(*), RECVBUF(*)
        INTEGER COUNT, DATATYPE, OP, COMM, IERROR

Keterangan

Jika comm adalah interkomunikator, hasil pengurangan data yang disediakan oleh proses dalam grup A disimpan di setiap proses di grup B, dan sebaliknya. Kedua grup harus menyediakan argumen hitungan dan jenis data yang menentukan tanda tangan jenis yang sama.

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

Persyaratan

Produk

Paket HPC Pack 2012 MS-MPI Redistributable, HpC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package atau HPC Pack 2008 Client Utilities

Header

Mpi.h; Mpif.h

Pustaka

Msmpi.lib

DLL

Msmpi.dll

Lihat juga

Fungsi Kolektif MPI

MPI_Reduce

MPI_Datatype

MPI_Op