Aracılığıyla paylaş


MPI_Iallgather işlevi

Bir grubun tüm üyelerinden veri toplar ve verileri engelleyici olmayan bir şekilde grubun tüm üyelerine gönderir.

Söz dizimi

int MPIAPI MPI_Iallgather(
  _In_opt_  const void         *sendbuf,
  _In_             int         sendcount,
  _In_            MPI_Datatype sendtype,
  _Out_opt_       void         *recvbuf,
  _In_            int          recvcount,
  _In_            MPI_Datatype recvtype,
  _In_            MPI_Comm     comm,
  _Out_           MPI_Request  *request
);

Parametreler

  • sendbuf [in, isteğe bağlı]
    Gruptaki tüm işlemlere gönderilecek verilerin işaretçisi. Arabellekteki öğelerin sayısı ve veri türü sendcount ve sendtype parametrelerinde belirtilir. Arabellekteki her öğe gruptaki bir işleme karşılık gelir.

    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.

  • sendcount [in]
    Sendbuf parametresinde belirtilen arabellekteki öğelerin sayısı. Sendcount değeri sıfırsa, iletinin veri bölümü boş olur.

  • sendtype [in]
    Gönderme arabelleğindeki öğelerin MPI veri türü.

  • recvbuf [out, isteğe bağlı]
    Her işlemden alınan verileri içeren bir arabelleğe işaretçi. Arabellekteki öğelerin sayısı ve veri türü recvcount ve recvtype parametrelerinde belirtilir.

  • recvcount [in]
    Alma arabelleğindeki öğelerin sayısı. Sayı sıfırsa, iletinin veri bölümü boş olur.

  • recvtype [in]
    Alma arabelleğindeki öğelerin MPI veri türü.

  • 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_IALLGATHER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, COMM, REQUEST, IERROR)
        <type> SENDBUF(*), RECVBUF(*)
        INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, 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

Ayrıca bkz.

MPI Kolektif İşlevleri

MPI_Gather

MPI_Datatype

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome