Aracılığıyla paylaş


MPI_Iallreduce işlevi

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

Söz dizimi

int MPIAPI MPI_Iallreduce(
  _In_opt_  const void         *sendbuf,
  _Out_opt_       void         *recvbuf,
  _In_            int          count,
  _In_            MPI_Datatype datatype,
  _In_            MPI_Op       op,
  _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ü count ve datatype parametrelerinde belirtilir.

    comm parametresi bir intracommunicator'a başvuruda bulunursa, tüm işlemlerde MPI_IN_PLACE belirterek yerinde bir seçenek 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.

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

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

  • op [in]
    Gerçekleştirilecek genel azaltma işlemi. 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ı.

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

Açıklamalar

Engelleyici olmayan bir çağrı, ayrı bir tamamlama çağrısında tamamlanması gereken bir toplu azaltma işlemi başlatır. İşlem başlatıldıktan sonra, katılan işlemlerdeki 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_Datatype

MPI_Op

MPI_Allreduce

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome