MPI_Iscatterv fungsi
Sintaks
int MPIAPI MPI_Iscatterv(
_In_opt_ const void *sendbuf,
_In_opt_ const int sendcounts[],
_In_opt_ const int displs[],
_In_ MPI_Datatype sendtype,
_Out_opt_ void *recvbuf,
_In_ int recvcount,
_In_ MPI_Datatype recvtype,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parameter
sendbuf [in, opsional]
Penunjuk ke buffer yang berisi data yang akan dikirim oleh proses root.Parameter ini diabaikan untuk semua proses non-root.
Jika parameter comm mereferensikan intracommunicator, Anda dapat menentukan opsi di tempat dengan menentukan MPI_IN_PLACE dalam proses root. Parameter recvcount dan recvtype diabaikan. Vektor yang tersebar masih dianggap berisi segmen n , di mana n adalah ukuran grup; segmen yang sesuai dengan proses akar tidak dipindahkan.
sendcounts[] [in, opsional]
Jumlah elemen yang akan dikirim ke setiap proses. Jika sendcounts[i] adalah nol, bagian data dari pesan untuk proses tersebut kosong.Parameter ini diabaikan untuk semua proses non-root.
displs[] [in, opsional]
Lokasi data yang akan dikirim ke setiap proses komunikator. Setiap lokasi dalam array relatif terhadap elemen array sendbuf yang sesuai.Dalam sendbuf, sendcounts, dan displs parameter array, elemen nth dari setiap array mengacu pada data yang akan dikirim ke proses komunikator ke n.
Parameter ini hanya signifikan pada proses akar.
sendtype [in]
Jenis data setiap elemen dalam buffer.Parameter ini diabaikan untuk semua proses non-root.
recvbuf [keluar, opsional]
Penunjuk ke buffer yang berisi data yang diterima pada setiap proses. Jumlah dan jenis data elemen dalam buffer ditentukan dalam parameter recvcount dan recvtype .recvcount [in]
Jumlah elemen dalam penyangga penerima. Jika jumlahnya nol, bagian data dari pesan kosong.recvtype [in]
Jenis data elemen dalam buffer penerima.root [in]
Peringkat dalam proses pengiriman dalam komunikator yang ditentukan.comm [in]
Pegangan MPI_Comm komunikator.request [out]
Handel MPI_Request mewakili operasi komunikasi.
Menampilkan 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_ISCATTERV(SENDBUF, SENDCOUNTS, DISPLS, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER SENDCOUNTS(*), DISPLS(*), SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR
Keterangan
Panggilan non-pemblokiran memulai operasi pengurangan kolektif yang harus diselesaikan dalam panggilan penyelesaian terpisah. Setelah dimulai, operasi dapat berkembang secara independen dari komputasi atau komunikasi lainnya pada 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 |