MCPcopy Create free account
hub / github.com/Kitware/VTK / vtkMPICommunicatorNoBlockReceiveData

Function vtkMPICommunicatorNoBlockReceiveData

Parallel/MPI/vtkMPICommunicator.cxx:357–375  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

355//------------------------------------------------------------------------------
356template <class T>
357int vtkMPICommunicatorNoBlockReceiveData(T* data, vtkTypeInt64 length, int remoteProcessId, int tag,
358 MPI_Datatype datatype, vtkMPICommunicator::Request& req, MPI_Comm* Handle)
359{
360 if (remoteProcessId == vtkMultiProcessController::ANY_SOURCE)
361 {
362 remoteProcessId = MPI_ANY_SOURCE;
363 }
364
365#ifdef VTKMPI_64BIT_LENGTH
366 return MPI_Irecv_c(data, length, datatype, remoteProcessId, tag, *(Handle), &req.Req->Handle);
367#else
368 if (!vtkMPICommunicatorCheckSize(length))
369 {
370 return 0;
371 }
372 return MPI_Irecv(
373 data, static_cast<int>(length), datatype, remoteProcessId, tag, *(Handle), &req.Req->Handle);
374#endif
375}
376//------------------------------------------------------------------------------
377int vtkMPICommunicatorReduceData(const void* sendBuffer, void* recvBuffer, vtkTypeInt64 length,
378 int type, MPI_Op operation, int destProcessId, MPI_Comm* comm)

Callers 1

NoBlockReceiveMethod · 0.85

Calls 1

Tested by

no test coverage detected