TRIQS/nda 1.3.0
Multi-dimensional array library for C++
|
#include "./interface/cxx_interface.hpp"
#include "./tools.hpp"
#include "../concepts.hpp"
#include "../declarations.hpp"
#include "../layout_transforms.hpp"
#include "../macros.hpp"
#include "../mem/address_space.hpp"
#include "../traits.hpp"
#include "../device.hpp"
#include <algorithm>
#include <iterator>
#include <tuple>
#include <type_traits>
#include <vector>
Provides a generic interface to batched versions of the BLAS gemm
routine.
Definition in file gemm_batch.hpp.
Go to the source code of this file.
Functions | |
template<bool VBATCH = false, Matrix A, Matrix B, MemoryMatrix C> requires ((MemoryMatrix<A> or is_conj_array_expr<A>) and (MemoryMatrix<B> or is_conj_array_expr<B>) and have_same_value_type_v<A, B, C> and is_blas_lapack_v<get_value_t<A>>) | |
void | nda::blas::gemm_batch (get_value_t< A > alpha, std::vector< A > const &va, std::vector< B > const &vb, get_value_t< A > beta, std::vector< C > &vc) |
Implements a batched version of nda::blas::gemm taking vectors of matrices as arguments. | |
template<ArrayOfRank< 3 > A, ArrayOfRank< 3 > B, MemoryArrayOfRank< 3 > C> requires ((MemoryArrayOfRank<A, 3> or (is_conj_array_expr<A>)) and (MemoryArrayOfRank<B, 3> or (is_conj_array_expr<B>)) and have_same_value_type_v<A, B, C> and is_blas_lapack_v<get_value_t<A>>) | |
void | nda::blas::gemm_batch_strided (get_value_t< A > alpha, A const &a, B const &b, get_value_t< A > beta, C &&c) |
Implements a strided batched version of nda::blas::gemm taking 3-dimensional arrays as arguments. | |
template<Matrix A, Matrix B, MemoryMatrix C> | |
void | nda::blas::gemm_vbatch (get_value_t< A > alpha, std::vector< A > const &va, std::vector< B > const &vb, get_value_t< A > beta, std::vector< C > &vc) |
Wrapper of nda::blas::gemm_batch that allows variable sized matrices. | |