|
Tpetra parallel linear algebra
Version of the Day
|
Implementation detail of Tpetra::MultiVector. More...
#include "TpetraCore_config.h"#include "Tpetra_Details_Blas.hpp"#include "Tpetra_Details_libGemm.hpp"Go to the source code of this file.
Classes | |
| struct | Tpetra::Details::Blas::Cublas::GemmCanUseCublas< ViewType1, ViewType2, ViewType3, CoefficientType, IndexType > |
| For this set of template parameters, can and should we implement Gemm (see below) using cuBLAS? More... | |
| struct | Tpetra::Details::Blas::Cublas::Impl::Gemm< ScalarType > |
| Wrapper for the above wrappers, templated on scalar type (the type of each entry in the matrices). More... | |
Namespaces | |
| Tpetra | |
| Namespace Tpetra contains the class and methods constituting the Tpetra library. | |
| Tpetra::Details | |
| Namespace for Tpetra implementation details. | |
Functions | |
| void | Tpetra::Details::Blas::Cublas::Impl::cgemm (const char char_transA, const char char_transB, const int m, const int n, const int k, const ::Kokkos::complex< float > &alpha, const ::Kokkos::complex< float > A[], const int lda, const ::Kokkos::complex< float > B[], const int ldb, const ::Kokkos::complex< float > &beta, ::Kokkos::complex< float > C[], const int ldc) |
| Wrapped version of cublasCgemm (v1 API). More... | |
| void | Tpetra::Details::Blas::Cublas::Impl::dgemm (const char char_transA, const char char_transB, const int m, const int n, const int k, const double alpha, const double A[], const int lda, const double B[], const int ldb, const double beta, double C[], const int ldc) |
| Wrapped version of cublasDgemm (v1 API). More... | |
| void | Tpetra::Details::Blas::Cublas::Impl::sgemm (const char char_transA, const char char_transB, const int m, const int n, const int k, const float alpha, const float A[], const int lda, const float B[], const int ldb, const float beta, float C[], const int ldc) |
| Wrapped version of cublasSgemm (v1 API). More... | |
| void | Tpetra::Details::Blas::Cublas::Impl::zgemm (const char char_transA, const char char_transB, const int m, const int n, const int k, const ::Kokkos::complex< double > &alpha, const ::Kokkos::complex< double > A[], const int lda, const ::Kokkos::complex< double > B[], const int ldb, const ::Kokkos::complex< double > &beta, ::Kokkos::complex< double > C[], const int ldc) |
| Wrapped version of cublasZgemm (v1 API). More... | |
Implementation detail of Tpetra::MultiVector.
The point of this file is to wrap cuBLAS calls, so that application code is not exposed to cublas.h or cublas_v2.h. This fixes the following issue relating to conflicts at build time between the old and new cuBLAS API:
https://github.com/trilinos/Trilinos/issues/1194
It also generally improves encapsulation.
Definition in file Tpetra_Details_cublasGemm.hpp.
| void Tpetra::Details::Blas::Cublas::Impl::cgemm | ( | const char | char_transA, |
| const char | char_transB, | ||
| const int | m, | ||
| const int | n, | ||
| const int | k, | ||
| const ::Kokkos::complex< float > & | alpha, | ||
| const ::Kokkos::complex< float > | A[], | ||
| const int | lda, | ||
| const ::Kokkos::complex< float > | B[], | ||
| const int | ldb, | ||
| const ::Kokkos::complex< float > & | beta, | ||
| ::Kokkos::complex< float > | C[], | ||
| const int | ldc | ||
| ) |
Wrapped version of cublasCgemm (v1 API).
See the cuBLAS documentation for details.
Wrapped version of cublasCgemm (v1 API).
Wrapped version of cublasCgemm (v1 API).
See the MKL documentation for details.
Definition at line 111 of file Tpetra_Details_libGemm.cpp.
| void Tpetra::Details::Blas::Cublas::Impl::dgemm | ( | const char | char_transA, |
| const char | char_transB, | ||
| const int | m, | ||
| const int | n, | ||
| const int | k, | ||
| const double | alpha, | ||
| const double | A[], | ||
| const int | lda, | ||
| const double | B[], | ||
| const int | ldb, | ||
| const double | beta, | ||
| double | C[], | ||
| const int | ldc | ||
| ) |
Wrapped version of cublasDgemm (v1 API).
See the cuBLAS documentation for details.
Definition at line 94 of file Tpetra_Details_cublasGemm.cpp.
| void Tpetra::Details::Blas::Cublas::Impl::sgemm | ( | const char | char_transA, |
| const char | char_transB, | ||
| const int | m, | ||
| const int | n, | ||
| const int | k, | ||
| const float | alpha, | ||
| const float | A[], | ||
| const int | lda, | ||
| const float | B[], | ||
| const int | ldb, | ||
| const float | beta, | ||
| float | C[], | ||
| const int | ldc | ||
| ) |
Wrapped version of cublasSgemm (v1 API).
See the cuBLAS documentation for details.
Definition at line 124 of file Tpetra_Details_cublasGemm.cpp.
| void Tpetra::Details::Blas::Cublas::Impl::zgemm | ( | const char | char_transA, |
| const char | char_transB, | ||
| const int | m, | ||
| const int | n, | ||
| const int | k, | ||
| const ::Kokkos::complex< double > & | alpha, | ||
| const ::Kokkos::complex< double > | A[], | ||
| const int | lda, | ||
| const ::Kokkos::complex< double > | B[], | ||
| const int | ldb, | ||
| const ::Kokkos::complex< double > & | beta, | ||
| ::Kokkos::complex< double > | C[], | ||
| const int | ldc | ||
| ) |
Wrapped version of cublasZgemm (v1 API).
See the cuBLAS documentation for details.
Wrapped version of cublasZgemm (v1 API).
Wrapped version of cublasZgemm (v1 API).
See the MKL documentation for details.
Definition at line 170 of file Tpetra_Details_libGemm.cpp.
1.8.13