Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Functions
Tpetra_Details_iallreduce.hpp File Reference

Declaration of Tpetra::Details::iallreduce. More...

#include "TpetraCore_config.h"
#include "Teuchos_EReductionType.hpp"
#include "Tpetra_Details_temporaryViewUtils.hpp"
#include "Tpetra_Details_Behavior.hpp"
#include "Kokkos_Core.hpp"
#include <memory>
#include <stdexcept>
#include <type_traits>
#include <functional>

Go to the source code of this file.


class  Tpetra::Details::CommRequest
 Base class for the request (more or less a future) representing a pending nonblocking MPI operation. More...


 Namespace Tpetra contains the class and methods constituting the Tpetra library.
 Nonmember function that computes a residual Computes R = B - A * X.


std::shared_ptr< CommRequest > Tpetra::Details::Impl::emptyCommRequest ()
 Return an "empty" comm request (waiting on it does nothing). 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...

Detailed Description

Declaration of Tpetra::Details::iallreduce.

This file and its contents are implementation details of Tpetra. Users must not rely on them.

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.