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 |