Bagikan melalui


MPI_Get_accumulate fungsi

Melakukan baca-ubah-tulis atomik dan mengembalikan data sebelum operasi akumulasi.

Sintaks

int MPIAPI MPI_Get_accumulate(
  _In_  void         *origin_addr,
        int          origin_count,
        MPI_Datatype origin_datatype,
  _Out_ void         *result_addr,
        int          result_count,
        MPI_Datatype result_datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        int          target_count,
        MPI_Datatype datatype,
        MPI_Op       op,
        MPI_Win      win
);

Parameter

  • origin_addr [in]
    alamat awal buffer

  • origin_count
    jumlah entri dalam buffer

  • origin_datatype
    jenis data dari setiap entri buffer

  • result_addr [out]
    alamat awal buffer hasil

  • result_count
    jumlah entri dalam buffer hasil

  • result_datatype
    jenis data dari setiap entri dalam buffer hasil

  • target_rank
    peringkat target

  • target_disp
    perpindahan dari awal jendela ke awal buffer target

  • target_count
    jumlah entri dalam buffer target

  • Datatype
    jenis data dari setiap entri dalam buffer target

  • Op
    operasi pengurangan yang telah ditentukan sebelumnya

  • Menang
    objek jendela

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_GET_ACCUMULATE(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_ADDR, RESULT_COUNT, RESULT_DATATYPE,
                TARGET_RANK, TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, OP, WIN, IERROR)
        <type> ORIGIN_ADDR(*), RESULT_ADDR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
        INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_COUNT, RESULT_DATATYPE, TARGET_RANK, TARGET_COUNT,
        TARGET_DATATYPE, OP, WIN, IERROR

Keterangan

Akumulasi origin_count elemen jenis origin_datatype dari buffer asal (origin_addr) ke buffer pada target_disp offset, di jendela target yang ditentukan oleh target_rank dan menang, menggunakan operasi op dan kembali dalam buffer hasil result_addr konten buffer target sebelum akumulasi, ditentukan oleh target_disp, target_count, dan target_datatype. Data yang ditransfer dari asal ke target harus pas, tanpa pemotokan, di buffer target. Demikian juga, data yang disalin dari target ke asal harus pas, tanpa pemotokan, dalam buffer hasil.

Buffer asal dan hasil (origin_addr dan result_addr) harus terputus-putus. Setiap argumen jenis data harus berupa tipe data yang telah ditentukan sebelumnya atau jenis data turunan di mana semua komponen dasar memiliki jenis data yang telah ditentukan sebelumnya yang sama. Semua argumen jenis data harus dibangun dari jenis data yang telah ditentukan sebelumnya yang sama. Operasi op berlaku untuk elemen dari jenis yang telah ditentukan sebelumnya. target_datatype tidak boleh menentukan entri yang tumpang tindih, dan buffer target harus pas di jendela target atau dalam memori terpasang di jendela dinamis. Operasi dijalankan secara atomik untuk setiap jenis data dasar.

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 Komunikasi One-Sided MPI