Aracılığıyla paylaş


MPI_Allreduce işlevi

Tüm işlemlerdeki değerleri birleştirir ve sonucu tüm işlemlere geri dağıtır.

Söz dizimi

int MPIAPI MPI_Allreduce(
  _In_opt_  const void         *sendbuf,
  _Out_opt_       void         *recvbuf,
  _In_            int          count,
  _In_            MPI_Datatype datatype,
  _In_            MPI_Op       op,
  _In_            MPI_Comm     comm
);

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ü count ve datatype parametrelerinde belirtilir.

    comm parametresi bir intracommunicator'a başvuruda bulunursa, tüm işlemlerde MPI_IN_PLACE belirterek yerinde seçeneğini belirtebilirsiniz. Bu durumda, giriş verileri her işlemde alma arabelleğinden alınır ve burada çıkış verileriyle değiştirilir.

  • recvbuf [out, isteğe bağlı]
    Azaltma işleminin sonucunu almak için arabelleğe yönelik işaretçi. Bu parametre yalnızca kök işlemde önemlidir.

  • count [in]
    Bu işlemden gönderilecek öğe sayısı.

  • datatype [in]
    Arabellekteki her öğenin MPI_Datatype . Bu parametre, işlem parametresinde belirtilen işlemle uyumlu olmalıdır.

  • op [in]
    Gerçekleştirilecek genel azaltma işlemini gösteren MPI_Op tanıtıcısı. Tanıtıcı, yerleşik veya uygulama tanımlı bir işlemi gösterebilir. Önceden tanımlanmış işlemlerin listesi için bkz. MPI_Op.

  • comm [in]
    İletişim MPI_Comm tutamacı.

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_ALLREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM, IERROR)
        <type> SENDBUF(*), RECVBUF(*)
        INTEGER COUNT, DATATYPE, OP, COMM, IERROR

Açıklamalar

İletişim bir iletişim aracıysa, A grubundaki işlemler tarafından sağlanan verilerin azaltılmasının sonucu, B grubundaki her işlemde depolanır ve tam tersi de geçerlidir. Her iki grup da aynı tür imzasını belirten sayı ve veri türü bağımsız değişkenleri sağlamalıdır.

Engelleyici olmayan azaltma işlemleri için tüm tamamlama çağrıları (örneğin , MPI_Wait) desteklenir.

Gereksinimler

Ürün

HPC Pack 2012 MS-MPI Yeniden Dağıtılabilir Paketi, HPC Pack 2008 R2 MS-MPI Yeniden Dağıtılabilir Paketi, HPC Pack 2008 MS-MPI Yeniden Dağıtılabilir Paketi veya HPC Pack 2008 İstemci Yardımcı Programları

Üst bilgi

Mpi.h; Mpif.h

Kitaplık

Msmpi.lib

DLL

Msmpi.dll

Ayrıca bkz.

MPI Kolektif İşlevleri

MPI_Reduce

MPI_Datatype

MPI_Op