Tpetra parallel linear algebra
Version of the Day
|
Implementation of ::Tpetra::Details::iallreduce. More...
#include <Tpetra_Details_iallreduce.hpp>
Implementation of ::Tpetra::Details::iallreduce.
PacketType | Type of each entry of the send and receive buffers. |
SendLayoutType | array_layout of the send buffer. Must be Kokkos::LayoutLeft or Kokkos::LayoutRight. |
SendDeviceType | Kokkos::Device specialization used by the send buffer. |
RecvLayoutType | array_layout of the receive buffer. Must be Kokkos::LayoutLeft or Kokkos::LayoutRight. |
RecvDeviceType | Kokkos::Device specialization used by the receive buffer. It's OK for this to differ from SendDeviceType. We assume that MPI implementations can handle this. (This is a reasonable assumption with CUDA-enabled MPI implementations.) |
rank | Integer rank of the send and receive buffers. Must be either 0 or 1. |
The actual implementation of ::Tpetra::Details::iallreduce lives in the partial specializations of this struct. See below. We do this complicated struct thing in order to make it easier to overload ::Tpetra::Details::iallreduce for different kinds of output arguments (e.g., rank-0 or rank-1 Kokkos::View).
Definition at line 662 of file Tpetra_Details_iallreduce.hpp.