Tpetra parallel linear algebra
Version of the Day
|
Declaration of Tpetra::idot, a nonblocking dot product. More...
#include "Tpetra_iallreduce.hpp"
#include "Tpetra_MultiVector.hpp"
#include "Tpetra_Vector.hpp"
#include "Teuchos_CommHelpers.hpp"
#include "KokkosBlas1_dot.hpp"
#include <stdexcept>
#include <sstream>
Go to the source code of this file.
Namespaces | |
Tpetra | |
Namespace Tpetra contains the class and methods constituting the Tpetra library. | |
Tpetra::Details | |
Nonmember function that computes a residual Computes R = B - A * X. | |
Functions | |
template<class MV , class ResultView , bool runOnDevice> | |
void | Tpetra::Details::idotLocal (const ResultView &localResult, const MV &X, const MV &Y) |
Compute dot product locally. Where the kernel runs controlled by runOnDevice. More... | |
template<class MV , class ResultView > | |
std::shared_ptr < ::Tpetra::Details::CommRequest > | Tpetra::Details::idotImpl (const ResultView &globalResult, const MV &X, const MV &Y) |
Internal (common) version of idot, a global dot product that uses a non-blocking MPI reduction. More... | |
template<class SC , class LO , class GO , class NT > | |
std::shared_ptr < ::Tpetra::Details::CommRequest > | Tpetra::idot (typename::Tpetra::MultiVector< SC, LO, GO, NT >::dot_type *resultRaw, const ::Tpetra::MultiVector< SC, LO, GO, NT > &X, const ::Tpetra::MultiVector< SC, LO, GO, NT > &Y) |
Nonblocking dot product, with either Tpetra::MultiVector or Tpetra::Vector inputs, and raw pointer or raw array output. More... | |
template<class SC , class LO , class GO , class NT > | |
std::shared_ptr < ::Tpetra::Details::CommRequest > | Tpetra::idot (const Kokkos::View< typename::Tpetra::MultiVector< SC, LO, GO, NT >::dot_type *, typename::Tpetra::MultiVector< SC, LO, GO, NT >::device_type > &result, const ::Tpetra::MultiVector< SC, LO, GO, NT > &X, const ::Tpetra::MultiVector< SC, LO, GO, NT > &Y) |
Nonblocking dot product, with Tpetra::MultiVector inputs, and rank-1 (one-dimensional array) Kokkos::View output. More... | |
template<class SC , class LO , class GO , class NT > | |
std::shared_ptr < ::Tpetra::Details::CommRequest > | Tpetra::idot (const Kokkos::View< typename::Tpetra::Vector< SC, LO, GO, NT >::dot_type, typename::Tpetra::Vector< SC, LO, GO, NT >::device_type > &result, const ::Tpetra::Vector< SC, LO, GO, NT > &X, const ::Tpetra::Vector< SC, LO, GO, NT > &Y) |
Nonblocking dot product, with Tpetra::Vector inputs, and rank-0 (single value) Kokkos::View output. More... | |
Declaration of Tpetra::idot, a nonblocking dot product.
Tpetra::idot implements a nonblocking dot product. It takes two Tpetra::Vector or Tpetra::MultiVector inputs, and computes their vector-wise dot product(s).
The overloads of Tpetra::idot in this file are the only contents of this file upon which users should rely. Users should not rely on anything else in this file. In particular, anything in the Tpetra::Details namespace is an implementation detail and is NOT for users.
If you want to find the only functions in this file that you are supposed to use, search for "SKIP DOWN TO HERE" (omit the quotes).
Definition in file Tpetra_idot.hpp.