MPI_Ibcast
Vysílaje zprávu z procesu s pořadím "root" do všech ostatních procesů communicatoru neblokujícím způsobem.
Syntax
int MPIAPI MPI_Ibcast(
_Inout_ void *buffer,
_In_ int count,
_In_ MPI_Datatype datatype,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parametry
vyrovnávací paměti [in, out]
Ukazatel na vyrovnávací paměť dat. Při procesu určeném parametrem kořenového obsahuje vyrovnávací paměť data, která se mají vysílat. U všech ostatních procesů v communicatoru určeném parametrem comm přijímá vyrovnávací paměť vysílání dat kořenovým procesem.vyrovnávací paměti se skládá zpoč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ů. počet [in]
Počet datových prvků v vyrovnávací paměti. Pokud je počet parametr nula, datová část zprávy je prázdná.datový typ [in]
Popisovač MPI_Datatype představující datový typ každého prvku v vyrovnávací paměti.kořenové [in]
Pořadí procesu v MPI_Comm odesílání vyrovnávací paměti .čárky [in]
Popisovač MPI_Comm communicatoru.žádost [out]
MPI_Request popisovač 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_IBCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR)
<type> BUFFER(*)
INTEGER COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR
Poznámky
Neblokující volání zahájí operaci kolektivního vysílání, 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 všesměrového vysílání zmírnit možné synchronizační účinky operací všesměrového vysílání jejich spuštěním na "pozadí".
Všechna volání dokončení (např. MPI_Wait) jsou podporována pro neblokující operace všesměrového vysílání.
Požadavky
Výrobek |
Microsoft MPI v6 |
Záhlaví |
Mpi.h; Mpif.h |
Knihovna |
Msmpi.lib |
Knihovna dll |
Msmpi.dll |