Tpetra parallel linear algebra
Version of the Day
|
Declaration of Tpetra::Details::iallreduce. More...
#include "TpetraCore_config.h"
#include "Teuchos_EReductionType.hpp"
#include "Kokkos_Core.hpp"
#include <memory>
#include <stdexcept>
#include <type_traits>
#include <functional>
Go to the source code of this file.
Namespaces | |
Tpetra | |
Namespace Tpetra contains the class and methods constituting the Tpetra library. | |
Tpetra::Details | |
Namespace for Tpetra implementation details. | |
Functions | |
std::shared_ptr< CommRequest > | Tpetra::Details::Impl::emptyCommRequest () |
Return an "empty" comm request (waiting on it does nothing). More... | |
template<class PacketType , class SendLayoutType , class SendDeviceType , class RecvLayoutType , class RecvDeviceType > | |
std::shared_ptr< CommRequest > | Tpetra::Details::Impl::wrapIallreduceCommRequest (const std::shared_ptr< CommRequest > &req, const ::Kokkos::View< const PacketType *, SendLayoutType, SendDeviceType > &sendbuf, const ::Kokkos::View< PacketType *, RecvLayoutType, RecvDeviceType > &recvbuf) |
Function for wrapping the CommRequest to be returned from ::Tpetra::Details::iallreduce; overload for rank-1 send and receive buffers. More... | |
template<class PacketType , class SendLayoutType , class SendDeviceType , class RecvLayoutType , class RecvDeviceType > | |
std::shared_ptr< CommRequest > | Tpetra::Details::Impl::wrapIallreduceCommRequest (const std::shared_ptr< CommRequest > &req, const ::Kokkos::View< const PacketType, SendLayoutType, SendDeviceType > &sendbuf, const ::Kokkos::View< PacketType, RecvLayoutType, RecvDeviceType > &recvbuf) |
Function for wrapping the CommRequest to be returned from ::Tpetra::Details::iallreduce; overload for rank-0 send and receive buffers. More... | |
template<class Packet > | |
std::shared_ptr< CommRequest > | Tpetra::Details::Impl::iallreduceRaw (const Packet sendbuf[], Packet recvbuf[], const int count, const ::Teuchos::EReductionType op, const ::Teuchos::Comm< int > &comm) |
Second lowest-level implementation of ::Tpetra::Details::iallreduce (see bottom of this header file). More... | |
template<class InputViewType , class OutputViewType > | |
std::shared_ptr< CommRequest > | Tpetra::Details::iallreduce (const InputViewType &sendbuf, const OutputViewType &recvbuf, const ::Teuchos::EReductionType op, const ::Teuchos::Comm< int > &comm) |
Nonblocking all-reduce, for either rank-1 or rank-0 Kokkos::View objects. More... | |
Declaration of Tpetra::Details::iallreduce.
Tpetra::Details::iallreduce wraps MPI_Iallreduce. That is the only thing in this file upon which Tpetra developers should rely. Tpetra developers should not rely on anything else in this file. Users may not rely on anything in this file!
If you want to find the only thing in this file that you are supposed to use, search for "SKIP DOWN TO HERE" (no quotes). "You" only refers to Tpetra developers. Users, this file is not for you!
Definition in file Tpetra_Details_iallreduce.hpp.