Bagikan melalui


fungsi MPI_Ireduce

Melakukan operasi pengurangan global (misalnya jumlah, maksimum, atau logis dan) di semua anggota grup dengan cara yang tidak memblokir.

Sintaks

int MPIAPI MPI_Ireduce(
  _In_      void         *sendbuf,
  _Out_opt_ void         *recvbuf,
  _In_      int          count,
  _In_      MPI_Datatype datatype,
  _In_      MPI_Op       op,
  _In_      int          root,
  _In_      MPI_Comm     comm,
  _Out_     MPI_Request  *request
);

Parameter

  • sendbuf [in]
    Penunjuk ke buffer yang berisi data dari peringkat ini yang akan digunakan dalam pengurangan. Buffer terdiri dari elemen berturut-turut dari MPI_Datatype yang ditunjukkan oleh handel jenis data. Panjang pesan ditentukan dalam hal jumlah elemen, bukan jumlah byte.

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

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

  • datatype [in]
    Handel MPI_Datatype mewakili jenis data setiap elemen di sendbuf.

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

  • root [in]
    Peringkat proses penerimaan dalam MPI_Commcomm.

  • 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_IREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, ROOT, COMM, REQUEST, IERROR) 
        <type> SENDBUF(*), RECVBUF(*) 
        INTEGER COUNT, DATATYPE, OP, ROOT, 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 v6

Header

Mpi.h; Mpif.h

Pustaka

Msmpi.lib

DLL

Msmpi.dll

Lihat juga

Fungsi Kolektif MPI

MPI_Datatype

MPI_Op

MPI_Reduce

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome