Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir grubun tüm üyelerinden bir üyeye engelleyici olmayan bir şekilde değişken verileri toplar.
Söz dizimi
int MPIAPI MPI_Igatherv(
_In_opt_ const void *sendbuf,
_In_ int sendcount,
_In_ MPI_Datatype sendtype,
_Out_opt_ void *recvbuf,
_In_opt_ const int recvcounts[],
_In_opt_ const int displs[],
_In_ MPI_Datatype recvtype,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parametreler
sendbuf [in, isteğe bağlı]
Kök işleme gönderilecek verileri içeren bir arabelleğe tanıtıcı.comm parametresi bir intracommunicator'a başvuruda bulunursa, tüm işlemlerde MPI_IN_PLACE belirterek yerinde bir seçenek belirtebilirsiniz. sendcount ve sendtype parametreleri yoksayılır. Her işlem ilgili alma arabelleği öğesine veri girer. n. işlem, alma arabelleğinin n. öğesine veri gönderir. Kök işlem tarafından gönderilen verilerin alma arabelleğinde doğru yerde olduğu varsayılır.
sendcount [in]
Gönderme arabelleğindeki öğelerin sayısı. Sendcount değeri sıfırsa, iletinin veri bölümü boş olur.sendtype [in]
Arabellekteki her öğenin veri türü.recvbuf [out, isteğe bağlı]
Kök işlem tarafından gönderilen veriler de dahil olmak üzere her işlemden alınan verileri içeren kök işlemdeki bir arabelleğe yönelik tanıtıcı. Bu parametre yalnızca kök işlemde önemlidir. recvbuf parametresi kök olmayan tüm işlemler için yoksayılır.recvcounts[] [in, isteğe bağlı]
Her işlemden alınan öğelerin sayısı. Dizideki her öğe, gönderme işleminin sırasına karşılık gelir. Sayı sıfırsa, iletinin veri bölümü boş olur. Bu parametre yalnızca kök işlemde önemlidir.displs[] [in, isteğe bağlı]
Her communicator işleminden verilerin recvbuf parametresine göre konumu. j işleminden alınan veriler, kök işlem uzaklığının alma arabelleğine yerleştirilir ve sendbuf işaretçisinden [j] öğeleri dağıtır.recvbuf, recvcounts ve displs parametre dizilerinde, her dizinin n. öğesi n. communicator işleminden alınan verilere başvurur.
Bu parametre yalnızca kök işlemde önemlidir.
recvtype [in]
Arabellekteki her öğenin veri türü. Bu parametre yalnızca kök işlemde önemlidir.root [in]
Belirtilen communicator içindeki alma işleminin sırası.comm [in]
MPI_Comm iletişimci tutamacı.request [out]
İletişim işlemini temsil eden MPI_Request tanıtıcısı.
Döndürülen değer
Başarılı MPI_SUCCESS döndürür. Aksi takdirde, dönüş değeri bir hata kodudur.
Fortran'da dönüş değeri IERROR parametresinde depolanır.
Fortran
MPI_IGATHERV(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNTS, DISPLS, RECVTYPE,
ROOT, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER SENDCOUNT, SENDTYPE, RECVCOUNTS(*), DISPLS(*), RECVTYPE, ROOT, COMM, REQUEST, IERROR
Açıklamalar
Engelleyici olmayan bir çağrı, ayrı bir tamamlama çağrısında tamamlanması gereken toplu bir azaltma işlemi başlatır. İşlem başlatıldıktan sonra, katılan süreçlerdeki tüm hesaplamalardan veya diğer iletişimlerden bağımsız olarak ilerleyebilir. Bu şekilde engelleyici olmayan azaltma işlemleri, azaltma işlemlerini "arka planda" çalıştırarak olası eşitleme etkilerini azaltabilir.
Engelleyici olmayan azaltma işlemleri için tüm tamamlama çağrıları (örneğin , MPI_Wait) desteklenir.
Gereksinimler
Ürün |
Microsoft MPI v7 |
Üst bilgi |
Mpi.h; Mpif.h |
Kitaplık |
Msmpi.lib |
DLL |
Msmpi.dll |