artdaq::MPITransfer Class Reference

MPITransfer is a TransferInterface implementation plugin that transfers data using MPI. More...

#include <artdaq/TransferPlugins/MPITransfer.hh>

Inheritance diagram for artdaq::MPITransfer:
artdaq::TransferInterface

List of all members.

Public Member Functions

 MPITransfer (fhicl::ParameterSet pset, Role role)
 MPITransfer Constructor.
virtual ~MPITransfer ()
 MPITransfer Destructor.
CopyStatus copyFragment (Fragment &frag, size_t timeout_usec) override
 Copy a Fragment to the destination. Forces asynchronous send.
CopyStatus moveFragment (Fragment &&frag, size_t timeout_usec) override
 Move a Fragment to the destination.
int receiveFragment (Fragment &frag, size_t timeout_usec) override
 Receive a Fragment using MPI.

Detailed Description

MPITransfer is a TransferInterface implementation plugin that transfers data using MPI.

Definition at line 24 of file MPITransfer.hh.


Constructor & Destructor Documentation

artdaq::MPITransfer::MPITransfer ( fhicl::ParameterSet  pset,
TransferInterface::Role  role 
)

MPITransfer Constructor.

Parameters:
pset ParameterSet used to configure MPITransfer
role Role of this MPITransfer instance (kSend or kReceive)
		 * MPITransfer accepts the following Parameters:
		 * "synchronous_sends" (Default: true): When false, use MPI_ISend, otherwise, use MPI_SSend
		 * 

MPITransfer also requires all Parameters for configuring a TransferInterface

Definition at line 21 of file MPI_transfer.cc.


Member Function Documentation

artdaq::TransferInterface::CopyStatus artdaq::MPITransfer::copyFragment ( Fragment &  frag,
size_t  timeout_usec 
) [override]

Copy a Fragment to the destination. Forces asynchronous send.

Parameters:
frag Fragment to copy
timeout_usec Timeout for send, in microseconds
Returns:
CopyStatus detailing result of copy

Definition at line 446 of file MPI_transfer.cc.

artdaq::TransferInterface::CopyStatus artdaq::MPITransfer::moveFragment ( Fragment &&  frag,
size_t  timeout_usec 
) [override]

Move a Fragment to the destination.

Parameters:
frag Fragment to move
timeout_usec Timeout for send, in microseconds
Returns:
CopyStatus detailing result of copy

Definition at line 439 of file MPI_transfer.cc.

int artdaq::MPITransfer::receiveFragment ( Fragment &  frag,
size_t  timeout_usec 
) [override]

Receive a Fragment using MPI.

Parameters:
[out] frag Received Fragment
timeout_usec Timeout for receive, in microseconds
Returns:
Rank of sender or RECV_TIMEOUT

Definition at line 92 of file MPI_transfer.cc.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator

Generated on 23 May 2017 for artdaq by  doxygen 1.6.1