Tpetra parallel linear algebra  Version of the Day
Classes | Namespaces | Functions
Tpetra_Details_gemm.hpp File Reference

Declaration and definition of Tpetra::Details::Blas::gemm, an implementation detail of Tpetra::MultiVector. More...

#include "Tpetra_Details_Blas.hpp"
#include "Tpetra_Details_defaultGemm.hpp"
#include "Tpetra_Details_mklGemm.hpp"
#include "Tpetra_Details_cublasGemm.hpp"
#include "Tpetra_Details_libGemm.hpp"
#include <type_traits>

Go to the source code of this file.

Classes

struct  Tpetra::Details::Blas::Impl::Gemm< ViewType1, ViewType2, ViewType3, CoefficientType, IndexType, canUseBlasLibrary, canUseCublas, canUseMkl >
 Implementation of ::Tpetra::Details::Blas::gemm. More...
 
struct  Tpetra::Details::Blas::Impl::Gemm< ViewType1, ViewType2, ViewType3, CoefficientType, IndexType, true, true, false >
 Specialization that calls cuBLAS. More...
 
struct  Tpetra::Details::Blas::Impl::Gemm< ViewType1, ViewType2, ViewType3, CoefficientType, IndexType, true, false, true >
 Specialization that calls the MKL. More...
 
struct  Tpetra::Details::Blas::Impl::Gemm< ViewType1, ViewType2, ViewType3, CoefficientType, IndexType, true, false, false >
 Specialization that calls the BLAS library. More...
 

Namespaces

 Tpetra
 Namespace Tpetra contains the class and methods constituting the Tpetra library.
 
 Tpetra::Details
 Namespace for Tpetra implementation details.
 

Functions

template<class ViewType1 , class ViewType2 , class ViewType3 , class CoefficientType , class IndexType = int>
void Tpetra::Details::Blas::gemm (const char transA, const char transB, const CoefficientType &alpha, const ViewType1 &A, const ViewType2 &B, const CoefficientType &beta, const ViewType3 &C)
 Tpetra's wrapper for the BLAS' _GEMM (dense matrix-matrix multiply, local to an MPI process). More...
 

Detailed Description

Declaration and definition of Tpetra::Details::Blas::gemm, an implementation detail of Tpetra::MultiVector.

Warning
This file, and its contents, are an implementation detail of Tpetra::MultiVector. Either may disappear or change at any time.

Search for "SKIP TO HERE FOR THE ACTUAL INTERFACE" (sans quotes) to find the actual interface that Tpetra developers are supposed to use.

Definition in file Tpetra_Details_gemm.hpp.

Function Documentation

◆ gemm()

template<class ViewType1 , class ViewType2 , class ViewType3 , class CoefficientType , class IndexType = int>
void Tpetra::Details::Blas::gemm ( const char  transA,
const char  transB,
const CoefficientType &  alpha,
const ViewType1 &  A,
const ViewType2 &  B,
const CoefficientType &  beta,
const ViewType3 &  C 
)

Tpetra's wrapper for the BLAS' _GEMM (dense matrix-matrix multiply, local to an MPI process).

Template Parameters
ViewType1Kokkos::View specialization; type of the A matrix.
ViewType2Kokkos::View specialization; type of the B matrix.
ViewType3Kokkos::View specialization; type of the C matrix.
CoefficientTypeType of each of the coefficients alpha and beta.
IndexTypeType of the index to use in loops.

Definition at line 180 of file Tpetra_Details_gemm.hpp.