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

Declaration of Tpetra::idot, a nonblocking dot product. More...

#include "Tpetra_Details_iallreduce.hpp"
#include "Tpetra_Details_isInterComm.hpp"
#include "Tpetra_MultiVector.hpp"
#include "Tpetra_Vector.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
 Namespace for Tpetra implementation details.
 

Functions

template<class SC , class LO , class GO , class NT >
void Tpetra::Details::lclDotRaw (typename::Tpetra::MultiVector< SC, LO, GO, NT >::dot_type *const resultRaw, const ::Tpetra::MultiVector< SC, LO, GO, NT > &X, const ::Tpetra::MultiVector< SC, LO, GO, NT > &Y, const bool resultOnDevice)
 Compute the local dot product(s), columnwise, of X and Y. 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::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...
 
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...
 

Detailed Description

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.