Sdílet prostřednictvím


MPI_Ireduce

Provádí globální operaci redukce (například součet, maximum nebo logickou a) napříč všemi členy skupiny neblokujícím způsobem.

Syntax

int MPIAPI MPI_Ireduce(
  _In_      void         *sendbuf,
  _Out_opt_ void         *recvbuf,
  _In_      int          count,
  _In_      MPI_Datatype datatype,
  _In_      MPI_Op       op,
  _In_      int          root,
  _In_      MPI_Comm     comm,
  _Out_     MPI_Request  *request
);

Parametry

  • sendbuf [in]
    Ukazatel na vyrovnávací paměť obsahující data z tohoto pořadí, která se mají použít při redukci. Vyrovnávací paměť se skládá z počtu následných prvků MPI_Datatype označených popisovačem datového typu . Délka zprávy je určena z hlediska počtu prvků, nikoli počtu bajtů.

  • [out, volitelné]
    Ukazatel na vyrovnávací paměť pro příjem výsledku operace redukce. Tento parametr je významný pouze v kořenovém procesu.

  • počet [in]
    Počet prvků, které se mají odeslat z tohoto procesu.

  • datový typ [in]
    Popisovač MPI_Datatype představující datový typ každého prvku v sendbuf.

  • op [in]
    Popisovač MPI_Op označující globální operaci redukce, která se má provést. Popisovač může indikovat integrovanou operaci nebo definovanou aplikací. Seznam předdefinovaných operací najdete v tématu MPI_Op.

  • kořenové [in]
    Pořadí přijímajícího procesu v MPI_Commčárky.

  • čárky [in]
    Popisovač MPI_Comm communicatoru.

  • žádost [out]
    Popisovač MPI_Request představující komunikační operaci.

Návratová hodnota

Vrátí MPI_SUCCESS při úspěchu. V opačném případě je vrácená hodnota kód chyby.

V fortranu je návratová hodnota uložena v parametru IERROR.

Fortran

    MPI_IREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, ROOT, COMM, REQUEST, IERROR) 
        <type> SENDBUF(*), RECVBUF(*) 
        INTEGER COUNT, DATATYPE, OP, ROOT, COMM, REQUEST, IERROR

Poznámky

Neblokující volání zahájí operaci kolektivní redukce, která musí být dokončena v samostatném volání dokončení. Po zahájení může operace probíhat nezávisle na výpočtu nebo jiné komunikaci v zúčastněných procesech. Tímto způsobem můžou neblokující operace redukce zmírnit možné synchronizační účinky operací redukce jejich spuštěním na pozadí.

Všechna volání dokončení (např. MPI_Wait) jsou podporována pro neblokující operace redukce.

Požadavky

Výrobek

Microsoft MPI v6

Záhlaví

Mpi.h; Mpif.h

Knihovna

Msmpi.lib

Knihovna dll

Msmpi.dll

Viz také

kolektivní funkce MPI

MPI_Datatype

MPI_Op

MPI_Reduce

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome