Tpetra parallel linear algebra  Version of the Day
Public Types | Public Member Functions | List of all members
Tpetra::Details::Impl::IallreduceCommRequest< PacketType, SendLayoutType, SendDeviceType, RecvLayoutType, RecvDeviceType, 0 > Class Template Reference

Partial pecialization for rank-0 (single-value) send and receive buffers. More...

#include <Tpetra_Details_iallreduce.hpp>

Inheritance diagram for Tpetra::Details::Impl::IallreduceCommRequest< PacketType, SendLayoutType, SendDeviceType, RecvLayoutType, RecvDeviceType, 0 >:
Inheritance graph
[legend]

Public Types

typedef ::Kokkos::View< const PacketType, SendLayoutType, SendDeviceType > send_buffer_type
 Type of the send buffer. More...
 
typedef ::Kokkos::View< PacketType, RecvLayoutType, RecvDeviceType > recv_buffer_type
 Type of the receive buffer. More...
 

Public Member Functions

 IallreduceCommRequest ()
 Default constructor. More...
 
 IallreduceCommRequest (const std::shared_ptr< CommRequest > &req, const send_buffer_type &sendbuf, const recv_buffer_type &recvbuf)
 Constructor that takes a wrapped request (representing the pending MPI_Iallreduce operation itself), and saved buffers. More...
 
virtual ~IallreduceCommRequest ()
 Destructor (virtual for memory safety). More...
 
void wait ()
 Wait on this communication request to complete. More...
 
void cancel ()
 Cancel the pending communication request. More...
 

Detailed Description

template<class PacketType, class SendLayoutType, class SendDeviceType, class RecvLayoutType, class RecvDeviceType>
class Tpetra::Details::Impl::IallreduceCommRequest< PacketType, SendLayoutType, SendDeviceType, RecvLayoutType, RecvDeviceType, 0 >

Partial pecialization for rank-0 (single-value) send and receive buffers.

Definition at line 342 of file Tpetra_Details_iallreduce.hpp.

Member Typedef Documentation

◆ send_buffer_type

template<class PacketType , class SendLayoutType , class SendDeviceType , class RecvLayoutType , class RecvDeviceType >
typedef ::Kokkos::View<const PacketType, SendLayoutType, SendDeviceType> Tpetra::Details::Impl::IallreduceCommRequest< PacketType, SendLayoutType, SendDeviceType, RecvLayoutType, RecvDeviceType, 0 >::send_buffer_type

Type of the send buffer.

Definition at line 356 of file Tpetra_Details_iallreduce.hpp.

◆ recv_buffer_type

template<class PacketType , class SendLayoutType , class SendDeviceType , class RecvLayoutType , class RecvDeviceType >
typedef ::Kokkos::View<PacketType, RecvLayoutType, RecvDeviceType> Tpetra::Details::Impl::IallreduceCommRequest< PacketType, SendLayoutType, SendDeviceType, RecvLayoutType, RecvDeviceType, 0 >::recv_buffer_type

Type of the receive buffer.

Definition at line 359 of file Tpetra_Details_iallreduce.hpp.

Constructor & Destructor Documentation

◆ IallreduceCommRequest() [1/2]

template<class PacketType , class SendLayoutType , class SendDeviceType , class RecvLayoutType , class RecvDeviceType >
Tpetra::Details::Impl::IallreduceCommRequest< PacketType, SendLayoutType, SendDeviceType, RecvLayoutType, RecvDeviceType, 0 >::IallreduceCommRequest ( )
inline

Default constructor.

Definition at line 351 of file Tpetra_Details_iallreduce.hpp.

◆ IallreduceCommRequest() [2/2]

template<class PacketType , class SendLayoutType , class SendDeviceType , class RecvLayoutType , class RecvDeviceType >
Tpetra::Details::Impl::IallreduceCommRequest< PacketType, SendLayoutType, SendDeviceType, RecvLayoutType, RecvDeviceType, 0 >::IallreduceCommRequest ( const std::shared_ptr< CommRequest > &  req,
const send_buffer_type sendbuf,
const recv_buffer_type recvbuf 
)
inline

Constructor that takes a wrapped request (representing the pending MPI_Iallreduce operation itself), and saved buffers.

Definition at line 364 of file Tpetra_Details_iallreduce.hpp.

◆ ~IallreduceCommRequest()

template<class PacketType , class SendLayoutType , class SendDeviceType , class RecvLayoutType , class RecvDeviceType >
virtual Tpetra::Details::Impl::IallreduceCommRequest< PacketType, SendLayoutType, SendDeviceType, RecvLayoutType, RecvDeviceType, 0 >::~IallreduceCommRequest ( )
inlinevirtual

Destructor (virtual for memory safety).

Definition at line 382 of file Tpetra_Details_iallreduce.hpp.

Member Function Documentation

◆ wait()

template<class PacketType , class SendLayoutType , class SendDeviceType , class RecvLayoutType , class RecvDeviceType >
void Tpetra::Details::Impl::IallreduceCommRequest< PacketType, SendLayoutType, SendDeviceType, RecvLayoutType, RecvDeviceType, 0 >::wait ( )
inlinevirtual

Wait on this communication request to complete.

This is a blocking operation. The user is responsible for avoiding deadlock.

Implements Tpetra::Details::CommRequest.

Definition at line 403 of file Tpetra_Details_iallreduce.hpp.

◆ cancel()

template<class PacketType , class SendLayoutType , class SendDeviceType , class RecvLayoutType , class RecvDeviceType >
void Tpetra::Details::Impl::IallreduceCommRequest< PacketType, SendLayoutType, SendDeviceType, RecvLayoutType, RecvDeviceType, 0 >::cancel ( )
inlinevirtual

Cancel the pending communication request.

This operation must be idempotent.

Implements Tpetra::Details::CommRequest.

Definition at line 420 of file Tpetra_Details_iallreduce.hpp.


The documentation for this class was generated from the following file: