remora::bindings Namespace Reference

Namespaces

 detail
 

Classes

struct  complex< double >>
 
struct  complex< double >>
 
struct  complex< double >>
 
struct  complex< double >>
 
struct  complex< double >>
 
struct  complex< double >>
 
struct  complex< double >>
 
struct  complex< double >>
 
struct  complex< float >>
 
struct  complex< float >>
 
struct  complex< float >>
 
struct  complex< float >>
 
struct  complex< float >>
 
struct  complex< float >>
 
struct  complex< float >>
 
struct  complex< float >>
 
struct  conv2d_block_size
 
struct  gemm_block_size
 
struct  gemm_block_size< float >
 
struct  gemm_block_size< long double >
 
struct  has_optimized_gemm
 
struct  has_optimized_gemv
 
struct  has_optimized_potrf
 
struct  has_optimized_syrk
 
struct  has_optimized_tpmv
 
struct  has_optimized_trmm
 
struct  has_optimized_trmv
 
struct  has_optimized_trsm
 
struct  has_optimized_trsv
 
struct  optimized_gemm_detail
 
struct  optimized_gemm_detail< dense_tag, dense_tag, dense_tag, double, double, double >
 
struct  optimized_gemm_detail< dense_tag, dense_tag, dense_tag, float, float, float >
 
struct  optimized_gemv_detail
 
struct  optimized_gemv_detail< dense_tag, dense_tag, dense_tag, double, double, double >
 
struct  optimized_gemv_detail< dense_tag, dense_tag, dense_tag, float, float, float >
 
struct  optimized_potrf_detail
 
struct  optimized_potrf_detail< dense_tag, double >
 
struct  optimized_potrf_detail< dense_tag, float >
 
struct  optimized_syrk_detail
 
struct  optimized_syrk_detail< dense_tag, dense_tag, double, double >
 
struct  optimized_syrk_detail< dense_tag, dense_tag, float, float >
 
struct  optimized_tpmv_detail
 
struct  optimized_tpmv_detail< packed_tag, dense_tag, double, double >
 
struct  optimized_tpmv_detail< packed_tag, dense_tag, float, float >
 
struct  optimized_trmm_detail
 
struct  optimized_trmm_detail< dense_tag, dense_tag, double, double >
 
struct  optimized_trmm_detail< dense_tag, dense_tag, float, float >
 
struct  optimized_trmv_detail
 
struct  optimized_trmv_detail< dense_tag, dense_tag, double, double >
 
struct  optimized_trmv_detail< dense_tag, dense_tag, float, float >
 
struct  optimized_trsm_detail
 
struct  optimized_trsm_detail< dense_tag, dense_tag, double, double >
 
struct  optimized_trsm_detail< dense_tag, dense_tag, float, float >
 
struct  optimized_trsv_detail
 
struct  optimized_trsv_detail< dense_tag, dense_tag, double, double >
 
struct  optimized_trsv_detail< dense_tag, dense_tag, float, float >
 
struct  storage_order
 
struct  storage_order< column_major >
 
struct  storage_order< row_major >
 
struct  syrk_block_size
 
struct  trmm_block_size
 
struct  trmm_kernel
 
struct  trmv_kernel
 
struct  trsm_kernel
 
struct  trsv_kernel
 

Functions

int potrf (CBLAS_ORDER const Order, CBLAS_UPLO const Uplo, int const N, float *A, int const lda)
 
int potrf (CBLAS_ORDER const Order, CBLAS_UPLO const Uplo, int const N, double *A, int const lda)
 
int potrf (CBLAS_ORDER const Order, CBLAS_UPLO const Uplo, int const N, std::complex< float > *A, int const lda)
 
int potrf (CBLAS_ORDER const Order, CBLAS_UPLO const Uplo, int const N, std::complex< double > *A, int const lda)
 
template<typename Triangular , typename SymmA >
int potrf (matrix_container< SymmA, cpu_tag > &A, std::true_type)
 
void dense_gemm (CBLAS_ORDER const Order, CBLAS_TRANSPOSE TransA, CBLAS_TRANSPOSE TransB, int M, int N, int K, float alpha, float const *A, int lda, float const *B, int ldb, float beta, float *C, int ldc)
 
void dense_gemm (CBLAS_ORDER const Order, CBLAS_TRANSPOSE TransA, CBLAS_TRANSPOSE TransB, int M, int N, int K, double alpha, double const *A, int lda, double const *B, int ldb, double beta, double *C, int ldc)
 
void dense_gemm (CBLAS_ORDER const Order, CBLAS_TRANSPOSE TransA, CBLAS_TRANSPOSE TransB, int M, int N, int K, float alpha, std::complex< float > const *A, int lda, std::complex< float > const *B, int ldb, float beta, std::complex< float > *C, int ldc)
 
void dense_gemm (CBLAS_ORDER const Order, CBLAS_TRANSPOSE TransA, CBLAS_TRANSPOSE TransB, int M, int N, int K, double alpha, std::complex< double > const *A, int lda, std::complex< double > const *B, int ldb, double beta, std::complex< double > *C, int ldc)
 
template<typename MatA , typename MatB , typename MatC >
void dense_gemm (matrix_expression< MatA, cpu_tag > const &A, matrix_expression< MatB, cpu_tag > const &B, matrix_expression< MatC, cpu_tag > &C, typename MatC::value_type alpha, std::true_type)
 
template<typename MatA , typename MatB , typename MatC >
void dense_gemm (matrix_expression< MatA, cpu_tag > const &A, matrix_expression< MatB, cpu_tag > const &B, matrix_expression< MatC, cpu_tag > &C, typename MatC::value_type alpha, std::false_type)
 
template<typename MatA , typename MatB , typename MatC >
void dense_gemm (matrix_expression< MatA, cpu_tag > const &A, matrix_expression< MatB, cpu_tag > const &B, matrix_expression< MatC, cpu_tag > &C, typename MatC::value_type alpha)
 
void gemv (CBLAS_ORDER const Order, CBLAS_TRANSPOSE const TransA, int const M, int const N, double alpha, float const *A, int const lda, float const *X, int const incX, double beta, float *Y, int const incY)
 
void gemv (CBLAS_ORDER const Order, CBLAS_TRANSPOSE const TransA, int const M, int const N, double alpha, double const *A, int const lda, double const *X, int const incX, double beta, double *Y, int const incY)
 
void gemv (CBLAS_ORDER const Order, CBLAS_TRANSPOSE const TransA, int const M, int const N, double alpha, std::complex< float > const *A, int const lda, std::complex< float > const *X, int const incX, double beta, std::complex< float > *Y, int const incY)
 
void gemv (CBLAS_ORDER const Order, CBLAS_TRANSPOSE const TransA, int const M, int const N, double alpha, std::complex< double > const *A, int const lda, std::complex< double > const *X, int const incX, double beta, std::complex< double > *Y, int const incY)
 
template<typename MatA , typename VectorX , typename VectorY >
void gemv (matrix_expression< MatA, cpu_tag > const &A, vector_expression< VectorX, cpu_tag > const &x, vector_expression< VectorY, cpu_tag > &y, typename VectorY::value_type alpha, std::true_type)
 
void syrk (CBLAS_ORDER const order, CBLAS_UPLO uplo, CBLAS_TRANSPOSE trans, int N, int K, float alpha, float const *A, int lda, float beta, float *C, int ldc)
 
void syrk (CBLAS_ORDER const order, CBLAS_UPLO uplo, CBLAS_TRANSPOSE trans, int N, int K, double alpha, double const *A, int lda, double beta, double *C, int ldc)
 
template<bool Upper, typename MatA , typename MatC >
void syrk (matrix_expression< MatA, cpu_tag > const &A, matrix_expression< MatC, cpu_tag > &C, typename MatC::value_type alpha, std::true_type)
 
void tpmv (CBLAS_ORDER const Order, CBLAS_UPLO const uplo, CBLAS_TRANSPOSE const transA, CBLAS_DIAG const unit, int const N, float const *A, float *X, int const incX)
 
void tpmv (CBLAS_ORDER const Order, CBLAS_UPLO const uplo, CBLAS_TRANSPOSE const transA, CBLAS_DIAG const unit, int const N, double const *A, double *X, int const incX)
 
void tpmv (CBLAS_ORDER const Order, CBLAS_UPLO const uplo, CBLAS_TRANSPOSE const transA, CBLAS_DIAG const unit, int const N, std::complex< float > const *A, std::complex< float > *X, int const incX)
 
void tpmv (CBLAS_ORDER const Order, CBLAS_UPLO const uplo, CBLAS_TRANSPOSE const transA, CBLAS_DIAG const unit, int const N, std::complex< double > const *A, std::complex< double > *X, int const incX)
 
template<typename MatA , typename VectorX >
void tpmv (matrix_expression< MatA, cpu_tag > const &A, vector_expression< VectorX, cpu_tag > &x, std::true_type)
 
void trmm (CBLAS_ORDER const order, CBLAS_SIDE const side, CBLAS_UPLO const uplo, CBLAS_TRANSPOSE const transA, CBLAS_DIAG const unit, int const M, int const N, float const *A, int const lda, float *B, int const incB)
 
void trmm (CBLAS_ORDER const order, CBLAS_SIDE const side, CBLAS_UPLO const uplo, CBLAS_TRANSPOSE const transA, CBLAS_DIAG const unit, int const M, int const N, double const *A, int const lda, double *B, int const incB)
 
void trmm (CBLAS_ORDER const order, CBLAS_SIDE const side, CBLAS_UPLO const uplo, CBLAS_TRANSPOSE const transA, CBLAS_DIAG const unit, int const M, int const N, std::complex< float > const *A, int const lda, std::complex< float > *B, int const incB)
 
void trmm (CBLAS_ORDER const order, CBLAS_SIDE const side, CBLAS_UPLO const uplo, CBLAS_TRANSPOSE const transA, CBLAS_DIAG const unit, int const M, int const N, std::complex< double > const *A, int const lda, std::complex< double > *B, int const incB)
 
template<bool upper, bool unit, typename MatA , typename MatB >
void trmm (matrix_expression< MatA, cpu_tag > const &A, matrix_expression< MatB, cpu_tag > &B, std::true_type)
 
void trmv (CBLAS_ORDER const Order, CBLAS_UPLO const uplo, CBLAS_TRANSPOSE const transA, CBLAS_DIAG const unit, int const N, float const *A, int const lda, float *X, int const incX)
 
void trmv (CBLAS_ORDER const Order, CBLAS_UPLO const uplo, CBLAS_TRANSPOSE const transA, CBLAS_DIAG const unit, int const N, double const *A, int const lda, double *X, int const incX)
 
void trmv (CBLAS_ORDER const Order, CBLAS_UPLO const uplo, CBLAS_TRANSPOSE const transA, CBLAS_DIAG const unit, int const N, std::complex< float > const *A, int const lda, std::complex< float > *X, int const incX)
 
void trmv (CBLAS_ORDER const Order, CBLAS_UPLO const uplo, CBLAS_TRANSPOSE const transA, CBLAS_DIAG const unit, int const N, std::complex< double > const *A, int const lda, std::complex< double > *X, int const incX)
 
template<bool upper, bool unit, typename MatA , typename VectorX >
void trmv (matrix_expression< MatA, cpu_tag > const &A, vector_expression< VectorX, cpu_tag > &x, std::true_type)
 
void trsm (CBLAS_ORDER order, CBLAS_UPLO uplo, CBLAS_TRANSPOSE transA, CBLAS_SIDE side, CBLAS_DIAG unit, int n, int nRHS, float const *A, int lda, float *B, int ldb)
 
void trsm (CBLAS_ORDER order, CBLAS_UPLO uplo, CBLAS_TRANSPOSE transA, CBLAS_SIDE side, CBLAS_DIAG unit, int n, int nRHS, double const *A, int lda, double *B, int ldb)
 
void trsm (CBLAS_ORDER order, CBLAS_UPLO uplo, CBLAS_TRANSPOSE transA, CBLAS_SIDE side, CBLAS_DIAG unit, int n, int nRHS, std::complex< float > const *A, int lda, std::complex< float > *B, int ldb)
 
void trsm (CBLAS_ORDER order, CBLAS_UPLO uplo, CBLAS_TRANSPOSE transA, CBLAS_SIDE side, CBLAS_DIAG unit, int n, int nRHS, std::complex< double > const *A, int lda, std::complex< double > *B, int ldb)
 
template<class Triangular , typename MatA , typename MatB >
void trsm_impl (matrix_expression< MatA, cpu_tag > const &A, matrix_expression< MatB, cpu_tag > &B, std::true_type, left)
 
template<class Triangular , typename MatA , typename MatB >
void trsm_impl (matrix_expression< MatA, cpu_tag > const &A, matrix_expression< MatB, cpu_tag > &B, std::true_type, right)
 
template<class Triangular , class Side , typename MatA , typename MatB >
void trsm (matrix_expression< MatA, cpu_tag > const &A, matrix_expression< MatB, cpu_tag > &B, std::true_type)
 
void trsv (CBLAS_ORDER order, CBLAS_UPLO uplo, CBLAS_TRANSPOSE transA, CBLAS_DIAG unit, int n, float const *A, int lda, float *b, int strideX)
 
void trsv (CBLAS_ORDER order, CBLAS_UPLO uplo, CBLAS_TRANSPOSE transA, CBLAS_DIAG unit, int n, double const *A, int lda, double *b, int strideX)
 
void trsv (CBLAS_ORDER order, CBLAS_UPLO uplo, CBLAS_TRANSPOSE transA, CBLAS_DIAG unit, int n, std::complex< float > const *A, int lda, std::complex< float > *b, int strideX)
 
void trsv (CBLAS_ORDER order, CBLAS_UPLO uplo, CBLAS_TRANSPOSE transA, CBLAS_DIAG unit, int n, std::complex< double > const *A, int lda, std::complex< double > *b, int strideX)
 
template<class Triangular , typename MatA , typename V >
void trsv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, std::true_type, left)
 
template<class Triangular , typename MatA , typename V >
void trsv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, std::true_type, right)
 
template<class Triangular , class Side , typename MatA , typename V >
void trsv (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, std::true_type)
 
template<class T , class block_size >
void uConv2d (T const *image, T const *filter, T *output, std::size_t image_size1, std::size_t image_size2, std::size_t filter_size1, std::size_t filter_size2, block_size)
 
template<class T , class E , class block_size >
void pack_filter (T *p, matrix_expression< E, cpu_tag > const &filter_im, std::size_t num_channels, std::size_t num_filters, block_size)
 
template<class T , class E , class block_size >
void pack_image (T *p, matrix_expression< E, cpu_tag > const &image, std::size_t num_channels, std::size_t start1, std::size_t start2, std::size_t size1, std::size_t size2, block_size)
 
template<class E1 , class E2 , class M >
void conv2d (matrix_expression< E1, cpu_tag > const &image, matrix_expression< E2, cpu_tag > const &filter, matrix_expression< M, cpu_tag > &output, std::size_t num_channels, std::size_t num_filters)
 
template<class E1 , class E2 , class Mat >
void dense_gemm (matrix_expression< E1, cpu_tag > const &e1, matrix_expression< E2, cpu_tag > const &e2, matrix_expression< Mat, cpu_tag > &m, typename Mat::value_type alpha)
 
template<class E1 , class E2 , class result_type >
void dot (vector_expression< E1, cpu_tag > const &v1, vector_expression< E2, cpu_tag > const &v2, result_type &result, dense_tag, dense_tag)
 
template<class E1 , class E2 , class result_type >
void dot (vector_expression< E1, cpu_tag > const &v1, vector_expression< E2, cpu_tag > const &v2, result_type &result, sparse_tag, sparse_tag)
 
template<class E1 , class E2 , class result_type >
void dot (vector_expression< E1, cpu_tag > const &v1, vector_expression< E2, cpu_tag > const &v2, result_type &result, dense_tag, sparse_tag)
 
template<class E1 , class E2 , class result_type >
void dot (vector_expression< E1, cpu_tag > const &v1, vector_expression< E2, cpu_tag > const &v2, result_type &result, sparse_tag t1, dense_tag t2)
 
template<class E1 , class E2 , class M , class Orientation >
void gemm (matrix_expression< E1, cpu_tag > const &e1, matrix_expression< E2, cpu_tag > const &e2, matrix_expression< M, cpu_tag > &m, typename M::value_type alpha, row_major, row_major, Orientation, dense_tag, sparse_tag)
 
template<class E1 , class E2 , class M >
void gemm (matrix_expression< E1, cpu_tag > const &e1, matrix_expression< E2, cpu_tag > const &e2, matrix_expression< M, cpu_tag > &m, typename M::value_type alpha, row_major, column_major, column_major, dense_tag, sparse_tag)
 
template<class E1 , class E2 , class M >
void gemm (matrix_expression< E1, cpu_tag > const &e1, matrix_expression< E2, cpu_tag > const &e2, matrix_expression< M, cpu_tag > &m, typename M::value_type alpha, row_major, column_major, row_major, dense_tag, sparse_tag)
 
template<class E1 , class E2 , class M , class Orientation >
void gemm (matrix_expression< E1, cpu_tag > const &e1, matrix_expression< E2, cpu_tag > const &e2, matrix_expression< M, cpu_tag > &m, typename M::value_type alpha, row_major, row_major, Orientation, sparse_tag, dense_tag)
 
template<class E1 , class E2 , class M >
void gemm (matrix_expression< E1, cpu_tag > const &e1, matrix_expression< E2, cpu_tag > const &e2, matrix_expression< M, cpu_tag > &m, typename M::value_type alpha, row_major, column_major, column_major, sparse_tag, dense_tag)
 
template<class E1 , class E2 , class M >
void gemm (matrix_expression< E1, cpu_tag > const &e1, matrix_expression< E2, cpu_tag > const &e2, matrix_expression< M, cpu_tag > &m, typename M::value_type alpha, row_major, column_major, row_major, sparse_tag, dense_tag)
 
template<class M , class E1 , class E2 >
void gemm (matrix_expression< E1, cpu_tag > const &e1, matrix_expression< E2, cpu_tag > const &e2, matrix_expression< M, cpu_tag > &m, typename M::value_type alpha, row_major, row_major, row_major, sparse_tag, sparse_tag)
 
template<class M , class E1 , class E2 >
void gemm (matrix_expression< E1, cpu_tag > const &e1, matrix_expression< E2, cpu_tag > const &e2, matrix_expression< M, cpu_tag > &m, typename M::value_type alpha, row_major, row_major, column_major, sparse_tag, sparse_tag)
 
template<class E1 , class E2 , class M , class Orientation >
void gemm (matrix_expression< E1, cpu_tag > const &e1, matrix_expression< E2, cpu_tag > const &e2, matrix_expression< M, cpu_tag > &m, typename M::value_type alpha, row_major, column_major, Orientation o, sparse_tag t1, sparse_tag t2)
 
template<class ResultV , class MatA , class V >
void gemv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > const &x, vector_expression< ResultV, cpu_tag > &result, typename ResultV::value_type alpha, row_major)
 
template<class ResultV , class MatA , class V >
void gemv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > const &x, vector_expression< ResultV, cpu_tag > &result, typename ResultV::value_type alpha, column_major)
 
template<class ResultV , class MatA , class V >
void gemv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > const &x, vector_expression< ResultV, cpu_tag > &result, typename ResultV::value_type alpha, unknown_orientation)
 
template<class ResultV , class MatA , class V >
void gemv (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > const &x, vector_expression< ResultV, cpu_tag > &result, typename ResultV::value_type alpha, std::false_type)
 
template<class MatA , class VecP >
void getrf_block (matrix_expression< MatA, cpu_tag > &A, vector_expression< VecP, cpu_tag > &P, column_major)
 
template<class MatA , class VecP >
void getrf_block (matrix_expression< MatA, cpu_tag > &A, vector_expression< VecP, cpu_tag > &P, row_major)
 
template<typename MatA , typename VecP >
void getrf_recursive (matrix_expression< MatA, cpu_tag > &A, vector_expression< VecP, cpu_tag > &P, std::size_t start, std::size_t end)
 
template<typename MatA , typename VecP >
void getrf (matrix_expression< MatA, cpu_tag > &A, vector_expression< VecP, cpu_tag > &P)
 
template<class F , class M >
void matrix_assign (matrix_expression< M, cpu_tag > &m, typename M::value_type t, row_major)
 
template<class F , class M >
void matrix_assign (matrix_expression< M, cpu_tag > &m, typename M::value_type t, column_major)
 
template<class F , class M , class Orientation , class Triangular >
void matrix_assign (matrix_expression< M, cpu_tag > &m, typename M::value_type t, triangular< Orientation, Triangular >)
 
template<class M , class E , class TagE , class TagM >
void matrix_assign (matrix_expression< M, cpu_tag > &m, matrix_expression< E, cpu_tag > const &e, row_major, row_major, TagE, TagM)
 
template<class M , class E >
void matrix_assign (matrix_expression< M, cpu_tag > &m, matrix_expression< E, cpu_tag > const &e, row_major, column_major, dense_tag, dense_tag)
 
template<class M , class E >
void matrix_assign (matrix_expression< M, cpu_tag > &m, matrix_expression< E, cpu_tag > const &e, row_major, column_major, dense_tag, sparse_tag)
 
template<class M , class E >
void matrix_assign (matrix_expression< M, cpu_tag > &m, matrix_expression< E, cpu_tag > const &e, row_major, column_major, sparse_tag, dense_tag)
 
template<class M , class E >
void matrix_assign (matrix_expression< M, cpu_tag > &m, matrix_expression< E, cpu_tag > const &e, row_major, column_major, sparse_tag, sparse_tag)
 
template<class M , class E , class Triangular >
void matrix_assign (matrix_expression< M, cpu_tag > &m, matrix_expression< E, cpu_tag > const &e, triangular< row_major, Triangular >, triangular< row_major, Triangular >, packed_tag, packed_tag)
 
template<class M , class E , class Triangular >
void matrix_assign (matrix_expression< M, cpu_tag > &m, matrix_expression< E, cpu_tag > const &e, triangular< row_major, Triangular >, triangular< column_major, Triangular >, packed_tag, packed_tag)
 
template<class F , class M , class E , class TagE , class TagM >
void matrix_assign_functor (matrix_expression< M, cpu_tag > &m, matrix_expression< E, cpu_tag > const &e, F f, row_major, row_major, TagM, TagE)
 
template<class F , class M , class E >
void matrix_assign_functor (matrix_expression< M, cpu_tag > &m, matrix_expression< E, cpu_tag > const &e, F f, row_major, column_major, dense_tag, dense_tag)
 
template<class F , class M , class E >
void matrix_assign_functor (matrix_expression< M, cpu_tag > &m, matrix_expression< E, cpu_tag > const &e, F f, row_major, column_major, dense_tag, sparse_tag)
 
template<class F , class M , class E >
void matrix_assign_functor (matrix_expression< M, cpu_tag > &m, matrix_expression< E, cpu_tag > const &e, F f, row_major, column_major, sparse_tag, dense_tag)
 
template<class F , class M , class E >
void matrix_assign_functor (matrix_expression< M, cpu_tag > &m, matrix_expression< E, cpu_tag > const &e, F f, row_major, column_major, sparse_tag t, sparse_tag)
 
template<class F , class M , class E , class Triangular >
void matrix_assign_functor (matrix_expression< M, cpu_tag > &m, matrix_expression< E, cpu_tag > const &e, F f, triangular< row_major, Triangular >, triangular< row_major, Triangular >)
 
template<class F , class M , class E , class Triangular >
void matrix_assign_functor (matrix_expression< M, cpu_tag > &m, matrix_expression< E, cpu_tag > const &e, F f, triangular< row_major, Triangular >, triangular< column_major, Triangular >)
 
template<class F , class M , class Orientation , class Tag >
void matrix_fold (matrix_expression< M, cpu_tag > const &m, typename F::result_type &value, Orientation, Tag)
 
template<class block_size , class T , class TC >
void ugemm (std::size_t kc, TC alpha, T const *A, T const *B, TC *C, std::size_t stride1, std::size_t stride2)
 
template<class T , class TC , class block_size >
void mgemm (std::size_t mc, std::size_t nc, std::size_t kc, TC alpha, T const *A, T const *B, TC *C, std::size_t stride1, std::size_t stride2, block_size)
 
template<class E , class T , class block_size >
void pack_A_dense (matrix_expression< E, cpu_tag > const &A, T *p, block_size)
 
template<class E , class T , class block_size >
void pack_B_dense (matrix_expression< E, cpu_tag > const &B, T *p, block_size)
 
template<class MatA >
std::size_t potrf_block (matrix_expression< MatA, cpu_tag > &A, row_major, lower)
 
template<class MatA >
std::size_t potrf_block (matrix_expression< MatA, cpu_tag > &A, row_major, upper)
 
template<class MatA , class Triangular >
std::size_t potrf_block (matrix_expression< MatA, cpu_tag > &A, column_major, Triangular)
 
template<typename MatA >
std::size_t potrf_recursive (matrix_expression< MatA, cpu_tag > &Afull, std::size_t start, std::size_t end, lower)
 
template<typename MatA >
std::size_t potrf_recursive (matrix_expression< MatA, cpu_tag > &A, std::size_t start, std::size_t end, upper)
 
template<class Triangular , typename MatA >
std::size_t potrf (matrix_container< MatA, cpu_tag > &A, std::false_type)
 
template<class MatA , class VecP >
std::size_t pstrf (matrix_expression< MatA, cpu_tag > &A, vector_expression< VecP, cpu_tag > &P, lower)
 
template<class MatA , class VecP >
std::size_t pstrf (matrix_expression< MatA, cpu_tag > &A, vector_expression< VecP, cpu_tag > &P, upper)
 
template<class V >
vector_range< typename const_expression< V >::type > simple_subrange (vector_expression< V, cpu_tag > const &expression, std::size_t start, std::size_t stop)
 
template<class V >
vector_range< V > simple_subrange (vector_expression< V, cpu_tag > &expression, std::size_t start, std::size_t stop)
 
template<class M >
matrix_range< typename const_expression< M >::type > simple_subrange (matrix_expression< M, cpu_tag > const &expression, std::size_t start1, std::size_t stop1, std::size_t start2, std::size_t stop2)
 
template<class M >
matrix_range< M > simple_subrange (matrix_expression< M, cpu_tag > &expression, std::size_t start1, std::size_t stop1, std::size_t start2, std::size_t stop2)
 
template<class M >
matrix_row< typename const_expression< M >::type > simple_row (matrix_expression< M, cpu_tag > const &expression, typename M::size_type i)
 
template<class M >
matrix_row< M > simple_row (matrix_expression< M, cpu_tag > &expression, typename M::size_type i)
 
template<class M >
matrix_row< matrix_transpose< typename const_expression< M >::type > > simple_column (matrix_expression< M, cpu_tag > const &expression, typename M::size_type i)
 
template<class M >
matrix_row< matrix_transpose< M > > simple_column (matrix_expression< M, cpu_tag > &expression, typename M::size_type i)
 
template<class M >
matrix_transpose< typename const_expression< M >::type > simple_trans (matrix_expression< M, cpu_tag >const &m)
 
template<class M >
matrix_transpose< M > simple_trans (matrix_expression< M, cpu_tag > &m)
 
template<class M , class V , class Tag1 , class Tag2 >
void sum_rows (matrix_expression< M, cpu_tag > const &A, vector_expression< V, cpu_tag > &v, typename V::value_type alpha, column_major, Tag1, Tag2)
 
template<class M , class V , class Tag1 , class Tag2 >
void sum_rows (matrix_expression< M, cpu_tag > const &A, vector_expression< V, cpu_tag > &v, typename V::value_type alpha, row_major, Tag1, Tag2)
 
template<class M , class V , class Orientation , class Triangular , class Tag1 , class Tag2 >
void sum_rows (matrix_expression< M, cpu_tag > const &A, vector_expression< V, cpu_tag > &v, typename V::value_type alpha, triangular< Orientation, Triangular >, Tag1, Tag2)
 
template<typename MatA , typename V >
void eigensort (matrix_expression< MatA, cpu_tag > &matA, vector_expression< V, cpu_tag > &eigenValues)
 
template<typename MatA , typename V >
void syev (matrix_expression< MatA, cpu_tag > &vmatA, vector_expression< V, cpu_tag > &dvecA)
 
template<class E , class Mat , class Triangular >
void syrk_impl (matrix_expression< E, cpu_tag > const &e, matrix_expression< Mat, cpu_tag > &m, typename Mat::value_type &alpha, Triangular t)
 
template<bool Upper, typename M , typename E >
void syrk (matrix_expression< E, cpu_tag > const &e, matrix_expression< M, cpu_tag > &m, typename M::value_type &alpha, std::false_type)
 
template<class MatA , class V >
void tpmv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, row_major, upper)
 
template<class MatA , class V >
void tpmv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, row_major, lower)
 
template<class MatA , class V >
void tpmv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, column_major, upper)
 
template<class MatA , class V >
void tpmv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, column_major, lower)
 
template<typename MatA , typename V >
void tpmv (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, std::false_type)
 
template<class E , class T , class block_size , bool unit>
void pack_A_triangular (matrix_expression< E, cpu_tag > const &A, T *p, block_size, triangular_tag< false, unit >)
 
template<class E , class T , class block_size , bool unit>
void pack_A_triangular (matrix_expression< E, cpu_tag > const &A, T *p, block_size, triangular_tag< true, unit >)
 
template<class E1 , class E2 , class Triangular >
void trmm_impl (matrix_expression< E1, cpu_tag > const &e1, matrix_expression< E2, cpu_tag > &e2, Triangular t)
 
template<bool Upper, bool Unit, typename MatA , typename MatB >
void trmm (matrix_expression< MatA, cpu_tag > const &A, matrix_expression< MatB, cpu_tag > &B, std::false_type)
 
template<bool Unit, class MatA , class V >
void trmv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, lower, row_major)
 
template<bool Unit, class MatA , class V >
void trmv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, upper, row_major)
 
template<bool Unit, class MatA , class V >
void trmv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, lower, column_major)
 
template<bool Unit, class MatA , class V >
void trmv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, upper, column_major)
 
template<bool Upper, bool Unit, typename MatA , typename V >
void trmv (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, std::false_type)
 
template<std::size_t maxBlockSize1, std::size_t maxBlockSize2, bool Unit, class MatA , class MatB >
void trsm_block (matrix_expression< MatA, cpu_tag > const &A, matrix_expression< MatB, cpu_tag > &B, lower, row_major)
 
template<std::size_t maxBlockSize1, std::size_t maxBlockSize2, bool Unit, class MatA , class MatB >
void trsm_block (matrix_expression< MatA, cpu_tag > const &A, matrix_expression< MatB, cpu_tag > &B, lower, column_major)
 
template<std::size_t maxBlockSize1, std::size_t maxBlockSize2, bool Unit, class MatA , class MatB >
void trsm_block (matrix_expression< MatA, cpu_tag > const &A, matrix_expression< MatB, cpu_tag > &B, upper, row_major)
 
template<std::size_t maxBlockSize1, std::size_t maxBlockSize2, bool Unit, class MatA , class MatB >
void trsm_block (matrix_expression< MatA, cpu_tag > const &A, matrix_expression< MatB, cpu_tag > &B, upper, column_major)
 
template<typename MatA , typename MatB , class Triangular >
void trsm_recursive (matrix_expression< MatA, cpu_tag > const &Afull, matrix_expression< MatB, cpu_tag > &Bfull, std::size_t start, std::size_t end, Triangular t, left l)
 
template<typename MatA , typename MatB , class Triangular >
void trsm_recursive (matrix_expression< MatA, cpu_tag > const &Afull, matrix_expression< MatB, cpu_tag > &Bfull, std::size_t start, std::size_t end, Triangular, right)
 
template<class Triangular , class Side , typename MatA , typename MatB >
void trsm (matrix_expression< MatA, cpu_tag > const &A, matrix_expression< MatB, cpu_tag > &B, std::false_type)
 
template<bool Unit, class MatA , class V >
void trsv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, lower, column_major, left)
 
template<bool Unit, class MatA , class V >
void trsv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, lower, row_major, left)
 
template<bool Unit, class MatA , class V >
void trsv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, upper, column_major, left)
 
template<bool Unit, class MatA , class V >
void trsv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, upper, row_major, left)
 
template<bool Unit, class Triangular , class Orientation , class MatA , class V >
void trsv_impl (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, Triangular, Orientation, right)
 
template<class Triangular , class Side , typename MatA , typename V >
void trsv (matrix_expression< MatA, cpu_tag > const &A, vector_expression< V, cpu_tag > &b, std::false_type)
 
template<class F , class V >
void assign (vector_expression< V, cpu_tag > &v, typename V::value_type t)
 
template<class V , class E >
void vector_assign (vector_expression< V, cpu_tag > &v, vector_expression< E, cpu_tag > const &e, dense_tag, dense_tag)
 
template<class V , class E >
void vector_assign (vector_expression< V, cpu_tag > &v, vector_expression< E, cpu_tag > const &e, dense_tag, packed_tag)
 
template<class V , class E >
void vector_assign (vector_expression< V, cpu_tag > &v, vector_expression< E, cpu_tag > const &e, packed_tag, packed_tag)
 
template<class V , class E >
void vector_assign (vector_expression< V, cpu_tag > &v, vector_expression< E, cpu_tag > const &e, dense_tag, sparse_tag)
 
template<class V , class E >
void vector_assign (vector_expression< V, cpu_tag > &v, vector_expression< E, cpu_tag > const &e, sparse_tag, dense_tag)
 
template<class V , class E >
void vector_assign (vector_expression< V, cpu_tag > &v, vector_expression< E, cpu_tag > const &e, sparse_tag, sparse_tag)
 
template<class V , class E , class F >
void vector_assign_functor (vector_expression< V, cpu_tag > &v, vector_expression< E, cpu_tag > const &e, F f, dense_tag, dense_tag)
 
template<class V , class E , class F >
void vector_assign_functor (vector_expression< V, cpu_tag > &v, vector_expression< E, cpu_tag > const &e, F f, dense_tag, packed_tag)
 
template<class V , class E , class F >
void vector_assign_functor (vector_expression< V, cpu_tag > &v, vector_expression< E, cpu_tag > const &e, F f, packed_tag, packed_tag)
 
template<class V , class E , class F >
void vector_assign_functor (vector_expression< V, cpu_tag > &v, vector_expression< E, cpu_tag > const &e, F f, dense_tag, sparse_tag)
 
template<class V , class E , class F >
void vector_assign_functor (vector_expression< V, cpu_tag > &v, vector_expression< E, cpu_tag > const &e, F f, sparse_tag tag, dense_tag)
 
template<class V , class E , class F >
void assign_sparse (vector_expression< V, cpu_tag > &v, vector_expression< E, cpu_tag > const &e, F f)
 
template<class V , class E , class F >
void vector_assign_functor (vector_expression< V, cpu_tag > &v, vector_container< E, cpu_tag > const &e, F f, sparse_tag tag, sparse_tag)
 
template<class V , class E , class F >
void vector_assign_functor (vector_container< V, cpu_tag > &v, vector_expression< E, cpu_tag > const &e, F f, sparse_tag tag, sparse_tag)
 
template<class V , class E , class F >
void vector_assign_functor (vector_container< V, cpu_tag > &v, vector_container< E, cpu_tag > const &e, F f, sparse_tag tag, sparse_tag)
 
template<class V , class E , class F >
void vector_assign_functor (vector_expression< V, cpu_tag > &v, vector_expression< E, cpu_tag > const &e, F f, sparse_tag tag, sparse_tag)
 
template<class F , class V >
void vector_fold (vector_expression< V, cpu_tag > const &v, typename F::result_type &value, dense_tag)
 
template<class F , class V >
void vector_fold (vector_expression< V, cpu_tag > const &v, typename F::result_type &value, sparse_tag)
 
template<class E , class Tag >
std::size_t vector_max (vector_expression< E, cpu_tag > const &v, Tag)
 
template<class E1 , class E2 , class Mat , class Orientation1 , class Orientation2 >
void gemm (matrix_expression< E1, cpu_tag > const &e1, matrix_expression< E2, cpu_tag > const &e2, matrix_expression< Mat, cpu_tag > &m, typename Mat::value_type alpha, row_major, Orientation1, Orientation2, dense_tag, dense_tag)
 
template<class M , class E1 , class E2 , class Orientation1 , class Orientation2 , class Tag1 , class Tag2 >
void gemm (matrix_expression< E1, cpu_tag > const &e1, matrix_expression< E2, cpu_tag > const &e2, matrix_expression< M, cpu_tag > &m, typename M::value_type alpha, column_major, Orientation1, Orientation2, Tag1, Tag2)
 
template<typename VectorX , typename VectorY , class result_type >
void dot (vector_expression< VectorX, gpu_tag > const &x, vector_expression< VectorY, gpu_tag > const &y, result_type &result, dense_tag, dense_tag)
 
template<class F , class M >
void matrix_assign (matrix_expression< M, gpu_tag > &m, typename M::value_type t, row_major)
 
template<class F , class M , class E >
void matrix_assign_functor (matrix_expression< M, gpu_tag > &m, matrix_expression< E, gpu_tag > const &e, F f, row_major, row_major, dense_tag, dense_tag)
 
template<class F , class M , class E >
void matrix_assign_functor (matrix_expression< M, gpu_tag > &m, matrix_expression< E, gpu_tag > const &e, F f, row_major, column_major, dense_tag, dense_tag)
 
template<class M , class E >
void matrix_assign (matrix_expression< M, gpu_tag > &m, matrix_expression< E, gpu_tag > const &e, row_major o, row_major, dense_tag t, dense_tag)
 
template<class M , class E >
void matrix_assign (matrix_expression< M, gpu_tag > &m, matrix_expression< E, gpu_tag > const &e, row_major o1, column_major o2, dense_tag t, dense_tag)
 
template<class F , class MatA , class Orientation >
void matrix_fold (matrix_expression< MatA, gpu_tag > const &A, typename F::result_type &value, Orientation, dense_tag)
 
template<class M , class V , class Orientation >
void sum_rows (matrix_expression< M, gpu_tag > const &A, vector_expression< V, gpu_tag > &v, typename V::value_type alpha, Orientation, dense_tag, dense_tag)
 
template<class MatA , class MatB >
trmm_kernel createTRMMBlockKernel (matrix_expression< MatA, gpu_tag > const &A, matrix_expression< MatB, gpu_tag > &B, char const *options)
 
template<typename MatA , typename MatB , typename Triangular >
void trmm_recursive (matrix_expression< MatA, gpu_tag > const &Afull, matrix_expression< MatB, gpu_tag > &Bfull, trmm_kernel &kernel, std::size_t start, std::size_t end, std::size_t tileSizeA, std::size_t tileSizeB, std::size_t numWorkers, Triangular t)
 
template<class MatA , class VecV >
trmv_kernel createTRMVBlockKernel (matrix_expression< MatA, gpu_tag > const &A, vector_expression< VecV, gpu_tag > &v, char const *options)
 
template<typename MatA , typename VecV , typename Triangular >
void trmv_recursive (matrix_expression< MatA, gpu_tag > const &Afull, vector_expression< VecV, gpu_tag > &vfull, trmv_kernel &kernel, std::size_t start, std::size_t end, std::size_t tileSizeA, Triangular t)
 
template<class MatA , class MatB >
trsm_kernel createTRSMDiagBlockKernel (matrix_expression< MatA, gpu_tag > const &A, matrix_expression< MatB, gpu_tag > &B, char const *options)
 
template<typename MatA , typename MatB , class Triangular >
void trsm_recursive (matrix_expression< MatA, gpu_tag > const &Afull, matrix_expression< MatB, gpu_tag > &Bfull, trsm_kernel &kernel, std::size_t start, std::size_t end, std::size_t tileSizeA, std::size_t tileSizeB, std::size_t numWorkers, Triangular t)
 
template<typename MatA , typename MatB , class Triangular >
void trsm_call (matrix_expression< MatA, gpu_tag > const &A, matrix_expression< MatB, gpu_tag > &B, Triangular, left)
 
template<typename MatA , typename MatB , class Triangular >
void trsm_call (matrix_expression< MatA, gpu_tag > const &A, matrix_expression< MatB, gpu_tag > &B, Triangular, right)
 
template<class MatA , class VecB >
trsv_kernel createTRSVDiagBlockKernel (matrix_expression< MatA, gpu_tag > const &A, vector_expression< VecB, gpu_tag > &b, char const *options)
 
template<typename MatA , typename VecB , class Triangular >
void trsv_recursive (matrix_expression< MatA, gpu_tag > const &Afull, vector_expression< VecB, gpu_tag > &bfull, trsv_kernel &kernel, std::size_t start, std::size_t end, std::size_t tileSize, std::size_t numWorkers, Triangular t)
 
template<typename MatA , typename VecB , class Triangular >
void trsv_call (matrix_expression< MatA, gpu_tag > const &A, vector_expression< VecB, gpu_tag > &b, Triangular, left)
 
template<typename MatA , typename VecB , class Triangular >
void trsv_call (matrix_expression< MatA, gpu_tag > const &A, vector_expression< VecB, gpu_tag > &b, Triangular, right)
 
template<class F , class V >
void assign (vector_expression< V, gpu_tag > &v, typename V::value_type t)
 
template<class V , class E >
void vector_assign (vector_expression< V, gpu_tag > &v, vector_expression< E, gpu_tag > const &e, dense_tag, dense_tag)
 
template<class V , class E , class F >
void vector_assign_functor (vector_expression< V, gpu_tag > &v, vector_expression< E, gpu_tag > const &e, F f, dense_tag, dense_tag)
 
template<class F , class V >
void vector_fold (vector_expression< V, gpu_tag > const &v, typename F::result_type &value, dense_tag)
 
template<class E >
std::size_t vector_max (vector_expression< E, gpu_tag > const &v, dense_tag)
 
void syev (int n, bool upper, double *A, int lda, double *eigenvalues)
 
template<typename MatA , typename VectorB >
void syev (matrix_expression< MatA, cpu_tag > &A, vector_expression< VectorB, cpu_tag > &eigenValues)
 
template<class M , class V , class Device , class Tag1 , class Tag2 >
void sum_rows (matrix_expression< M, Device > const &A, vector_expression< V, Device > &b, typename V::value_type alpha, unknown_orientation, Tag1, Tag2)
 

Function Documentation

◆ assign() [1/2]

template<class F , class V >
void remora::bindings::assign ( vector_expression< V, cpu_tag > &  v,
typename V::value_type  t 
)

Definition at line 36 of file vector_assign.hpp.

◆ assign() [2/2]

template<class F , class V >
void remora::bindings::assign ( vector_expression< V, gpu_tag > &  v,
typename V::value_type  t 
)

Definition at line 41 of file vector_assign.hpp.

References shark::transform().

◆ assign_sparse()

template<class V , class E , class F >
void remora::bindings::assign_sparse ( vector_expression< V, cpu_tag > &  v,
vector_expression< E, cpu_tag > const &  e,
f 
)

Definition at line 309 of file vector_assign.hpp.

Referenced by vector_assign_functor().

◆ conv2d()

template<class E1 , class E2 , class M >
void remora::bindings::conv2d ( matrix_expression< E1, cpu_tag > const &  image,
matrix_expression< E2, cpu_tag > const &  filter,
matrix_expression< M, cpu_tag > &  output,
std::size_t  num_channels,
std::size_t  num_filters 
)

◆ createTRMMBlockKernel()

◆ createTRMVBlockKernel()

template<class MatA , class VecV >
trmv_kernel remora::bindings::createTRMVBlockKernel ( matrix_expression< MatA, gpu_tag > const &  A,
vector_expression< VecV, gpu_tag > &  v,
char const *  options 
)

◆ createTRSMDiagBlockKernel()

template<class MatA , class MatB >
trsm_kernel remora::bindings::createTRSMDiagBlockKernel ( matrix_expression< MatA, gpu_tag > const &  A,
matrix_expression< MatB, gpu_tag > &  B,
char const *  options 
)

◆ createTRSVDiagBlockKernel()

template<class MatA , class VecB >
trsv_kernel remora::bindings::createTRSVDiagBlockKernel ( matrix_expression< MatA, gpu_tag > const &  A,
vector_expression< VecB, gpu_tag > &  b,
char const *  options 
)

◆ dense_gemm() [1/8]

void remora::bindings::dense_gemm ( CBLAS_ORDER const  Order,
CBLAS_TRANSPOSE  TransA,
CBLAS_TRANSPOSE  TransB,
int  M,
int  N,
int  K,
float  alpha,
float const *  A,
int  lda,
float const *  B,
int  ldb,
float  beta,
float *  C,
int  ldc 
)
inline

Definition at line 41 of file dense_gemm.hpp.

Referenced by dense_gemm(), and gemm().

◆ dense_gemm() [2/8]

void remora::bindings::dense_gemm ( CBLAS_ORDER const  Order,
CBLAS_TRANSPOSE  TransA,
CBLAS_TRANSPOSE  TransB,
int  M,
int  N,
int  K,
double  alpha,
double const *  A,
int  lda,
double const *  B,
int  ldb,
double  beta,
double *  C,
int  ldc 
)
inline

Definition at line 57 of file dense_gemm.hpp.

◆ dense_gemm() [3/8]

void remora::bindings::dense_gemm ( CBLAS_ORDER const  Order,
CBLAS_TRANSPOSE  TransA,
CBLAS_TRANSPOSE  TransB,
int  M,
int  N,
int  K,
float  alpha,
std::complex< float > const *  A,
int  lda,
std::complex< float > const *  B,
int  ldb,
float  beta,
std::complex< float > *  C,
int  ldc 
)
inline

Definition at line 75 of file dense_gemm.hpp.

◆ dense_gemm() [4/8]

template<class E1 , class E2 , class Mat >
void remora::bindings::dense_gemm ( matrix_expression< E1, cpu_tag > const &  e1,
matrix_expression< E2, cpu_tag > const &  e2,
matrix_expression< Mat, cpu_tag > &  m,
typename Mat::value_type  alpha 
)

◆ dense_gemm() [5/8]

void remora::bindings::dense_gemm ( CBLAS_ORDER const  Order,
CBLAS_TRANSPOSE  TransA,
CBLAS_TRANSPOSE  TransB,
int  M,
int  N,
int  K,
double  alpha,
std::complex< double > const *  A,
int  lda,
std::complex< double > const *  B,
int  ldb,
double  beta,
std::complex< double > *  C,
int  ldc 
)
inline

Definition at line 97 of file dense_gemm.hpp.

◆ dense_gemm() [6/8]

template<typename MatA , typename MatB , typename MatC >
void remora::bindings::dense_gemm ( matrix_expression< MatA, cpu_tag > const &  A,
matrix_expression< MatB, cpu_tag > const &  B,
matrix_expression< MatC, cpu_tag > &  C,
typename MatC::value_type  alpha,
std::true_type   
)

Definition at line 121 of file dense_gemm.hpp.

References dense_gemm().

◆ dense_gemm() [7/8]

template<typename MatA , typename MatB , typename MatC >
void remora::bindings::dense_gemm ( matrix_expression< MatA, cpu_tag > const &  A,
matrix_expression< MatB, cpu_tag > const &  B,
matrix_expression< MatC, cpu_tag > &  C,
typename MatC::value_type  alpha,
std::false_type   
)

Definition at line 152 of file dense_gemm.hpp.

References dense_gemm(), remora::min(), and remora::noalias().

◆ dense_gemm() [8/8]

template<typename MatA , typename MatB , typename MatC >
void remora::bindings::dense_gemm ( matrix_expression< MatA, cpu_tag > const &  A,
matrix_expression< MatB, cpu_tag > const &  B,
matrix_expression< MatC, cpu_tag > &  C,
typename MatC::value_type  alpha 
)

Definition at line 230 of file dense_gemm.hpp.

References dense_gemm().

◆ dot() [1/5]

template<class E1 , class E2 , class result_type >
void remora::bindings::dot ( vector_expression< E1, cpu_tag > const &  v1,
vector_expression< E2, cpu_tag > const &  v2,
result_type &  result,
dense_tag  ,
dense_tag   
)

Definition at line 40 of file dot.hpp.

Referenced by remora::kernels::dot(), and dot().

◆ dot() [2/5]

template<typename VectorX , typename VectorY , class result_type >
void remora::bindings::dot ( vector_expression< VectorX, gpu_tag > const &  x,
vector_expression< VectorY, gpu_tag > const &  y,
result_type &  result,
dense_tag  ,
dense_tag   
)

Definition at line 42 of file dot.hpp.

◆ dot() [3/5]

template<class E1 , class E2 , class result_type >
void remora::bindings::dot ( vector_expression< E1, cpu_tag > const &  v1,
vector_expression< E2, cpu_tag > const &  v2,
result_type &  result,
sparse_tag  ,
sparse_tag   
)

Definition at line 55 of file dot.hpp.

◆ dot() [4/5]

template<class E1 , class E2 , class result_type >
void remora::bindings::dot ( vector_expression< E1, cpu_tag > const &  v1,
vector_expression< E2, cpu_tag > const &  v2,
result_type &  result,
dense_tag  ,
sparse_tag   
)

Definition at line 88 of file dot.hpp.

◆ dot() [5/5]

template<class E1 , class E2 , class result_type >
void remora::bindings::dot ( vector_expression< E1, cpu_tag > const &  v1,
vector_expression< E2, cpu_tag > const &  v2,
result_type &  result,
sparse_tag  t1,
dense_tag  t2 
)

Definition at line 104 of file dot.hpp.

References dot().

◆ eigensort()

template<typename MatA , typename V >
void remora::bindings::eigensort ( matrix_expression< MatA, cpu_tag > &  matA,
vector_expression< V, cpu_tag > &  eigenValues 
)

Definition at line 41 of file syev.hpp.

References remora::arg_max(), remora::subrange(), and shark::swap().

Referenced by syev().

◆ gemm() [1/11]

template<class E1 , class E2 , class M , class Orientation >
void remora::bindings::gemm ( matrix_expression< E1, cpu_tag > const &  e1,
matrix_expression< E2, cpu_tag > const &  e2,
matrix_expression< M, cpu_tag > &  m,
typename M::value_type  alpha,
row_major  ,
row_major  ,
Orientation  ,
dense_tag  ,
sparse_tag   
)

Definition at line 45 of file gemm.hpp.

References remora::kernels::gemv().

Referenced by remora::kernels::gemm(), and gemm().

◆ gemm() [2/11]

template<class E1 , class E2 , class Mat , class Orientation1 , class Orientation2 >
void remora::bindings::gemm ( matrix_expression< E1, cpu_tag > const &  e1,
matrix_expression< E2, cpu_tag > const &  e2,
matrix_expression< Mat, cpu_tag > &  m,
typename Mat::value_type  alpha,
row_major  ,
Orientation1  ,
Orientation2  ,
dense_tag  ,
dense_tag   
)

Definition at line 48 of file gemm.hpp.

References dense_gemm().

◆ gemm() [3/11]

template<class M , class E1 , class E2 , class Orientation1 , class Orientation2 , class Tag1 , class Tag2 >
void remora::bindings::gemm ( matrix_expression< E1, cpu_tag > const &  e1,
matrix_expression< E2, cpu_tag > const &  e2,
matrix_expression< M, cpu_tag > &  m,
typename M::value_type  alpha,
column_major  ,
Orientation1  ,
Orientation2  ,
Tag1  ,
Tag2   
)

Definition at line 60 of file gemm.hpp.

References gemm().

◆ gemm() [4/11]

template<class E1 , class E2 , class M >
void remora::bindings::gemm ( matrix_expression< E1, cpu_tag > const &  e1,
matrix_expression< E2, cpu_tag > const &  e2,
matrix_expression< M, cpu_tag > &  m,
typename M::value_type  alpha,
row_major  ,
column_major  ,
column_major  ,
dense_tag  ,
sparse_tag   
)

Definition at line 62 of file gemm.hpp.

References remora::kernels::gemv().

◆ gemm() [5/11]

template<class E1 , class E2 , class M >
void remora::bindings::gemm ( matrix_expression< E1, cpu_tag > const &  e1,
matrix_expression< E2, cpu_tag > const &  e2,
matrix_expression< M, cpu_tag > &  m,
typename M::value_type  alpha,
row_major  ,
column_major  ,
row_major  ,
dense_tag  ,
sparse_tag   
)

Definition at line 82 of file gemm.hpp.

References remora::plus_assign().

◆ gemm() [6/11]

template<class E1 , class E2 , class M , class Orientation >
void remora::bindings::gemm ( matrix_expression< E1, cpu_tag > const &  e1,
matrix_expression< E2, cpu_tag > const &  e2,
matrix_expression< M, cpu_tag > &  m,
typename M::value_type  alpha,
row_major  ,
row_major  ,
Orientation  ,
sparse_tag  ,
dense_tag   
)

Definition at line 101 of file gemm.hpp.

References remora::kernels::gemv().

◆ gemm() [7/11]

template<class E1 , class E2 , class M >
void remora::bindings::gemm ( matrix_expression< E1, cpu_tag > const &  e1,
matrix_expression< E2, cpu_tag > const &  e2,
matrix_expression< M, cpu_tag > &  m,
typename M::value_type  alpha,
row_major  ,
column_major  ,
column_major  ,
sparse_tag  ,
dense_tag   
)

Definition at line 118 of file gemm.hpp.

References remora::kernels::gemv().

◆ gemm() [8/11]

template<class E1 , class E2 , class M >
void remora::bindings::gemm ( matrix_expression< E1, cpu_tag > const &  e1,
matrix_expression< E2, cpu_tag > const &  e2,
matrix_expression< M, cpu_tag > &  m,
typename M::value_type  alpha,
row_major  ,
column_major  ,
row_major  ,
sparse_tag  ,
dense_tag   
)

Definition at line 138 of file gemm.hpp.

References remora::plus_assign().

◆ gemm() [9/11]

template<class M , class E1 , class E2 >
void remora::bindings::gemm ( matrix_expression< E1, cpu_tag > const &  e1,
matrix_expression< E2, cpu_tag > const &  e2,
matrix_expression< M, cpu_tag > &  m,
typename M::value_type  alpha,
row_major  ,
row_major  ,
row_major  ,
sparse_tag  ,
sparse_tag   
)

Definition at line 159 of file gemm.hpp.

References remora::kernels::gemv().

◆ gemm() [10/11]

template<class M , class E1 , class E2 >
void remora::bindings::gemm ( matrix_expression< E1, cpu_tag > const &  e1,
matrix_expression< E2, cpu_tag > const &  e2,
matrix_expression< M, cpu_tag > &  m,
typename M::value_type  alpha,
row_major  ,
row_major  ,
column_major  ,
sparse_tag  ,
sparse_tag   
)

Definition at line 195 of file gemm.hpp.

References remora::kernels::gemv().

◆ gemm() [11/11]

template<class E1 , class E2 , class M , class Orientation >
void remora::bindings::gemm ( matrix_expression< E1, cpu_tag > const &  e1,
matrix_expression< E2, cpu_tag > const &  e2,
matrix_expression< M, cpu_tag > &  m,
typename M::value_type  alpha,
row_major  ,
column_major  ,
Orientation  o,
sparse_tag  t1,
sparse_tag  t2 
)

Definition at line 215 of file gemm.hpp.

References gemm().

◆ gemv() [1/6]

void remora::bindings::gemv ( CBLAS_ORDER const  Order,
CBLAS_TRANSPOSE const  TransA,
int const  M,
int const  N,
double  alpha,
float const *  A,
int const  lda,
float const *  X,
int const  incX,
double  beta,
float *  Y,
int const  incY 
)
inline

Definition at line 40 of file gemv.hpp.

Referenced by remora::kernels::gemv(), and gemv().

◆ gemv() [2/6]

void remora::bindings::gemv ( CBLAS_ORDER const  Order,
CBLAS_TRANSPOSE const  TransA,
int const  M,
int const  N,
double  alpha,
double const *  A,
int const  lda,
double const *  X,
int const  incX,
double  beta,
double *  Y,
int const  incY 
)
inline

Definition at line 51 of file gemv.hpp.

◆ gemv() [3/6]

void remora::bindings::gemv ( CBLAS_ORDER const  Order,
CBLAS_TRANSPOSE const  TransA,
int const  M,
int const  N,
double  alpha,
std::complex< float > const *  A,
int const  lda,
std::complex< float > const *  X,
int const  incX,
double  beta,
std::complex< float > *  Y,
int const  incY 
)
inline

Definition at line 62 of file gemv.hpp.

◆ gemv() [4/6]

void remora::bindings::gemv ( CBLAS_ORDER const  Order,
CBLAS_TRANSPOSE const  TransA,
int const  M,
int const  N,
double  alpha,
std::complex< double > const *  A,
int const  lda,
std::complex< double > const *  X,
int const  incX,
double  beta,
std::complex< double > *  Y,
int const  incY 
)
inline

Definition at line 80 of file gemv.hpp.

◆ gemv() [5/6]

template<class ResultV , class MatA , class V >
void remora::bindings::gemv ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > const &  x,
vector_expression< ResultV, cpu_tag > &  result,
typename ResultV::value_type  alpha,
std::false_type   
)

Definition at line 98 of file gemv.hpp.

References gemv_impl().

◆ gemv() [6/6]

template<typename MatA , typename VectorX , typename VectorY >
void remora::bindings::gemv ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< VectorX, cpu_tag > const &  x,
vector_expression< VectorY, cpu_tag > &  y,
typename VectorY::value_type  alpha,
std::true_type   
)

Definition at line 102 of file gemv.hpp.

References gemv().

◆ gemv_impl() [1/3]

template<class ResultV , class MatA , class V >
void remora::bindings::gemv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > const &  x,
vector_expression< ResultV, cpu_tag > &  result,
typename ResultV::value_type  alpha,
row_major   
)

Definition at line 44 of file gemv.hpp.

References remora::kernels::dot().

Referenced by gemv(), and gemv_impl().

◆ gemv_impl() [2/3]

template<class ResultV , class MatA , class V >
void remora::bindings::gemv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > const &  x,
vector_expression< ResultV, cpu_tag > &  result,
typename ResultV::value_type  alpha,
column_major   
)

Definition at line 63 of file gemv.hpp.

References remora::plus_assign().

◆ gemv_impl() [3/3]

template<class ResultV , class MatA , class V >
void remora::bindings::gemv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > const &  x,
vector_expression< ResultV, cpu_tag > &  result,
typename ResultV::value_type  alpha,
unknown_orientation   
)

Definition at line 86 of file gemv.hpp.

References gemv_impl().

◆ getrf()

template<typename MatA , typename VecP >
void remora::bindings::getrf ( matrix_expression< MatA, cpu_tag > &  A,
vector_expression< VecP, cpu_tag > &  P 
)

Definition at line 183 of file getrf.hpp.

References getrf_recursive().

Referenced by remora::kernels::getrf().

◆ getrf_block() [1/2]

template<class MatA , class VecP >
void remora::bindings::getrf_block ( matrix_expression< MatA, cpu_tag > &  A,
vector_expression< VecP, cpu_tag > &  P,
column_major   
)

Definition at line 43 of file getrf.hpp.

Referenced by getrf_block(), and getrf_recursive().

◆ getrf_block() [2/2]

template<class MatA , class VecP >
void remora::bindings::getrf_block ( matrix_expression< MatA, cpu_tag > &  A,
vector_expression< VecP, cpu_tag > &  P,
row_major   
)

Definition at line 85 of file getrf.hpp.

References remora::kernels::assign(), and getrf_block().

◆ getrf_recursive()

template<typename MatA , typename VecP >
void remora::bindings::getrf_recursive ( matrix_expression< MatA, cpu_tag > &  A,
vector_expression< VecP, cpu_tag > &  P,
std::size_t  start,
std::size_t  end 
)

Definition at line 129 of file getrf.hpp.

References remora::kernels::gemm(), getrf_block(), simple_subrange(), and remora::swap_rows().

Referenced by getrf().

◆ matrix_assign() [1/13]

template<class F , class M >
void remora::bindings::matrix_assign ( matrix_expression< M, cpu_tag > &  m,
typename M::value_type  t,
row_major   
)

Definition at line 44 of file matrix_assign.hpp.

References remora::row().

Referenced by remora::kernels::detail::matrix_assign().

◆ matrix_assign() [2/13]

template<class F , class M >
void remora::bindings::matrix_assign ( matrix_expression< M, gpu_tag > &  m,
typename M::value_type  t,
row_major   
)

Definition at line 44 of file matrix_assign.hpp.

◆ matrix_assign() [3/13]

template<class F , class M >
void remora::bindings::matrix_assign ( matrix_expression< M, cpu_tag > &  m,
typename M::value_type  t,
column_major   
)

Definition at line 56 of file matrix_assign.hpp.

References remora::column().

◆ matrix_assign() [4/13]

template<class F , class M , class Orientation , class Triangular >
void remora::bindings::matrix_assign ( matrix_expression< M, cpu_tag > &  m,
typename M::value_type  t,
triangular< Orientation, Triangular >   
)

Definition at line 68 of file matrix_assign.hpp.

◆ matrix_assign() [5/13]

template<class M , class E , class TagE , class TagM >
void remora::bindings::matrix_assign ( matrix_expression< M, cpu_tag > &  m,
matrix_expression< E, cpu_tag > const &  e,
row_major  ,
row_major  ,
TagE  ,
TagM   
)

Definition at line 84 of file matrix_assign.hpp.

References remora::kernels::assign(), and remora::row().

◆ matrix_assign() [6/13]

template<class M , class E >
void remora::bindings::matrix_assign ( matrix_expression< M, cpu_tag > &  m,
matrix_expression< E, cpu_tag > const &  e,
row_major  ,
column_major  ,
dense_tag  ,
dense_tag   
)

Definition at line 99 of file matrix_assign.hpp.

References remora::min().

◆ matrix_assign() [7/13]

template<class M , class E >
void remora::bindings::matrix_assign ( matrix_expression< M, cpu_tag > &  m,
matrix_expression< E, cpu_tag > const &  e,
row_major  ,
column_major  ,
dense_tag  ,
sparse_tag   
)

Definition at line 135 of file matrix_assign.hpp.

References remora::kernels::assign(), and remora::column().

◆ matrix_assign() [8/13]

template<class M , class E >
void remora::bindings::matrix_assign ( matrix_expression< M, cpu_tag > &  m,
matrix_expression< E, cpu_tag > const &  e,
row_major  ,
column_major  ,
sparse_tag  ,
dense_tag   
)

Definition at line 149 of file matrix_assign.hpp.

References remora::kernels::assign(), and remora::row().

◆ matrix_assign() [9/13]

template<class M , class E >
void remora::bindings::matrix_assign ( matrix_expression< M, cpu_tag > &  m,
matrix_expression< E, cpu_tag > const &  e,
row_major  ,
column_major  ,
sparse_tag  ,
sparse_tag   
)

Definition at line 162 of file matrix_assign.hpp.

References remora::row().

◆ matrix_assign() [10/13]

template<class M , class E >
void remora::bindings::matrix_assign ( matrix_expression< M, gpu_tag > &  m,
matrix_expression< E, gpu_tag > const &  e,
row_major  o,
row_major  ,
dense_tag  t,
dense_tag   
)

Definition at line 164 of file matrix_assign.hpp.

References matrix_assign_functor().

◆ matrix_assign() [11/13]

template<class M , class E >
void remora::bindings::matrix_assign ( matrix_expression< M, gpu_tag > &  m,
matrix_expression< E, gpu_tag > const &  e,
row_major  o1,
column_major  o2,
dense_tag  t,
dense_tag   
)

Definition at line 174 of file matrix_assign.hpp.

References matrix_assign_functor().

◆ matrix_assign() [12/13]

template<class M , class E , class Triangular >
void remora::bindings::matrix_assign ( matrix_expression< M, cpu_tag > &  m,
matrix_expression< E, cpu_tag > const &  e,
triangular< row_major, Triangular >  ,
triangular< row_major, Triangular >  ,
packed_tag  ,
packed_tag   
)

Definition at line 212 of file matrix_assign.hpp.

◆ matrix_assign() [13/13]

template<class M , class E , class Triangular >
void remora::bindings::matrix_assign ( matrix_expression< M, cpu_tag > &  m,
matrix_expression< E, cpu_tag > const &  e,
triangular< row_major, Triangular >  ,
triangular< column_major, Triangular >  ,
packed_tag  ,
packed_tag   
)

Definition at line 235 of file matrix_assign.hpp.

◆ matrix_assign_functor() [1/9]

template<class F , class M , class E >
void remora::bindings::matrix_assign_functor ( matrix_expression< M, gpu_tag > &  m,
matrix_expression< E, gpu_tag > const &  e,
f,
row_major  ,
row_major  ,
dense_tag  ,
dense_tag   
)

Definition at line 71 of file matrix_assign.hpp.

◆ matrix_assign_functor() [2/9]

template<class F , class M , class E >
void remora::bindings::matrix_assign_functor ( matrix_expression< M, gpu_tag > &  m,
matrix_expression< E, gpu_tag > const &  e,
f,
row_major  ,
column_major  ,
dense_tag  ,
dense_tag   
)

Definition at line 90 of file matrix_assign.hpp.

◆ matrix_assign_functor() [3/9]

template<class F , class M , class E , class TagE , class TagM >
void remora::bindings::matrix_assign_functor ( matrix_expression< M, cpu_tag > &  m,
matrix_expression< E, cpu_tag > const &  e,
f,
row_major  ,
row_major  ,
TagM  ,
TagE   
)

◆ matrix_assign_functor() [4/9]

template<class F , class M , class E >
void remora::bindings::matrix_assign_functor ( matrix_expression< M, cpu_tag > &  m,
matrix_expression< E, cpu_tag > const &  e,
f,
row_major  ,
column_major  ,
dense_tag  ,
dense_tag   
)

Definition at line 275 of file matrix_assign.hpp.

References remora::min().

◆ matrix_assign_functor() [5/9]

template<class F , class M , class E >
void remora::bindings::matrix_assign_functor ( matrix_expression< M, cpu_tag > &  m,
matrix_expression< E, cpu_tag > const &  e,
f,
row_major  ,
column_major  ,
dense_tag  ,
sparse_tag   
)

Definition at line 312 of file matrix_assign.hpp.

References remora::kernels::assign(), and remora::column().

◆ matrix_assign_functor() [6/9]

template<class F , class M , class E >
void remora::bindings::matrix_assign_functor ( matrix_expression< M, cpu_tag > &  m,
matrix_expression< E, cpu_tag > const &  e,
f,
row_major  ,
column_major  ,
sparse_tag  ,
dense_tag   
)

Definition at line 326 of file matrix_assign.hpp.

References remora::kernels::assign(), and remora::row().

◆ matrix_assign_functor() [7/9]

template<class F , class M , class E >
void remora::bindings::matrix_assign_functor ( matrix_expression< M, cpu_tag > &  m,
matrix_expression< E, cpu_tag > const &  e,
f,
row_major  ,
column_major  ,
sparse_tag  t,
sparse_tag   
)

Definition at line 340 of file matrix_assign.hpp.

References matrix_assign_functor().

◆ matrix_assign_functor() [8/9]

template<class F , class M , class E , class Triangular >
void remora::bindings::matrix_assign_functor ( matrix_expression< M, cpu_tag > &  m,
matrix_expression< E, cpu_tag > const &  e,
f,
triangular< row_major, Triangular >  ,
triangular< row_major, Triangular >   
)

Definition at line 414 of file matrix_assign.hpp.

◆ matrix_assign_functor() [9/9]

template<class F , class M , class E , class Triangular >
void remora::bindings::matrix_assign_functor ( matrix_expression< M, cpu_tag > &  m,
matrix_expression< E, cpu_tag > const &  e,
f,
triangular< row_major, Triangular >  ,
triangular< column_major, Triangular >   
)

Definition at line 439 of file matrix_assign.hpp.

◆ matrix_fold() [1/2]

template<class F , class M , class Orientation , class Tag >
void remora::bindings::matrix_fold ( matrix_expression< M, cpu_tag > const &  m,
typename F::result_type &  value,
Orientation  ,
Tag   
)

Definition at line 37 of file matrix_fold.hpp.

◆ matrix_fold() [2/2]

template<class F , class MatA , class Orientation >
void remora::bindings::matrix_fold ( matrix_expression< MatA, gpu_tag > const &  A,
typename F::result_type &  value,
Orientation  ,
dense_tag   
)

Definition at line 40 of file matrix_fold.hpp.

◆ mgemm()

template<class T , class TC , class block_size >
void remora::bindings::mgemm ( std::size_t  mc,
std::size_t  nc,
std::size_t  kc,
TC  alpha,
T const *  A,
T const *  B,
TC *  C,
std::size_t  stride1,
std::size_t  stride2,
block_size   
)

Definition at line 104 of file mgemm.hpp.

References remora::min().

Referenced by dense_gemm(), syrk_impl(), and trmm_impl().

◆ pack_A_dense()

template<class E , class T , class block_size >
void remora::bindings::pack_A_dense ( matrix_expression< E, cpu_tag > const &  A,
T *  p,
block_size   
)

Definition at line 148 of file mgemm.hpp.

Referenced by dense_gemm(), syrk_impl(), and trmm_impl().

◆ pack_A_triangular() [1/2]

template<class E , class T , class block_size , bool unit>
void remora::bindings::pack_A_triangular ( matrix_expression< E, cpu_tag > const &  A,
T *  p,
block_size  ,
triangular_tag< false, unit >   
)

Definition at line 53 of file trmm.hpp.

Referenced by trmm_impl().

◆ pack_A_triangular() [2/2]

template<class E , class T , class block_size , bool unit>
void remora::bindings::pack_A_triangular ( matrix_expression< E, cpu_tag > const &  A,
T *  p,
block_size  ,
triangular_tag< true, unit >   
)

Definition at line 76 of file trmm.hpp.

◆ pack_B_dense()

template<class E , class T , class block_size >
void remora::bindings::pack_B_dense ( matrix_expression< E, cpu_tag > const &  B,
T *  p,
block_size   
)

Definition at line 169 of file mgemm.hpp.

Referenced by dense_gemm(), syrk_impl(), and trmm_impl().

◆ pack_filter()

template<class T , class E , class block_size >
void remora::bindings::pack_filter ( T *  p,
matrix_expression< E, cpu_tag > const &  filter_im,
std::size_t  num_channels,
std::size_t  num_filters,
block_size   
)

Definition at line 118 of file conv2d.hpp.

References remora::noalias(), and remora::bindings::conv2d_block_size< T >::num_filter_outputs.

Referenced by conv2d().

◆ pack_image()

template<class T , class E , class block_size >
void remora::bindings::pack_image ( T *  p,
matrix_expression< E, cpu_tag > const &  image,
std::size_t  num_channels,
std::size_t  start1,
std::size_t  start2,
std::size_t  size1,
std::size_t  size2,
block_size   
)

Definition at line 152 of file conv2d.hpp.

References remora::min(), and remora::noalias().

Referenced by conv2d().

◆ potrf() [1/6]

int remora::bindings::potrf ( CBLAS_ORDER const  Order,
CBLAS_UPLO const  Uplo,
int const  N,
float *  A,
int const  lda 
)
inline

Definition at line 44 of file potrf.hpp.

Referenced by potrf().

◆ potrf() [2/6]

int remora::bindings::potrf ( CBLAS_ORDER const  Order,
CBLAS_UPLO const  Uplo,
int const  N,
double *  A,
int const  lda 
)
inline

Definition at line 51 of file potrf.hpp.

◆ potrf() [3/6]

int remora::bindings::potrf ( CBLAS_ORDER const  Order,
CBLAS_UPLO const  Uplo,
int const  N,
std::complex< float > *  A,
int const  lda 
)
inline

Definition at line 58 of file potrf.hpp.

◆ potrf() [4/6]

int remora::bindings::potrf ( CBLAS_ORDER const  Order,
CBLAS_UPLO const  Uplo,
int const  N,
std::complex< double > *  A,
int const  lda 
)
inline

Definition at line 65 of file potrf.hpp.

◆ potrf() [5/6]

template<typename Triangular , typename SymmA >
int remora::bindings::potrf ( matrix_container< SymmA, cpu_tag > &  A,
std::true_type   
)
inline

Definition at line 73 of file potrf.hpp.

References potrf().

◆ potrf() [6/6]

template<class Triangular , typename MatA >
std::size_t remora::bindings::potrf ( matrix_container< MatA, cpu_tag > &  A,
std::false_type   
)

Definition at line 149 of file potrf.hpp.

References potrf_recursive().

◆ potrf_block() [1/3]

template<class MatA >
std::size_t remora::bindings::potrf_block ( matrix_expression< MatA, cpu_tag > &  A,
row_major  ,
lower   
)

Definition at line 43 of file potrf.hpp.

Referenced by potrf_block(), and potrf_recursive().

◆ potrf_block() [2/3]

template<class MatA >
std::size_t remora::bindings::potrf_block ( matrix_expression< MatA, cpu_tag > &  A,
row_major  ,
upper   
)

Definition at line 68 of file potrf.hpp.

◆ potrf_block() [3/3]

template<class MatA , class Triangular >
std::size_t remora::bindings::potrf_block ( matrix_expression< MatA, cpu_tag > &  A,
column_major  ,
Triangular   
)

Definition at line 97 of file potrf.hpp.

References potrf_block(), and simple_trans().

◆ potrf_recursive() [1/2]

template<typename MatA >
std::size_t remora::bindings::potrf_recursive ( matrix_expression< MatA, cpu_tag > &  Afull,
std::size_t  start,
std::size_t  end,
lower   
)

Definition at line 107 of file potrf.hpp.

References potrf_block(), simple_subrange(), and simple_trans().

Referenced by potrf(), and potrf_recursive().

◆ potrf_recursive() [2/2]

template<typename MatA >
std::size_t remora::bindings::potrf_recursive ( matrix_expression< MatA, cpu_tag > &  A,
std::size_t  start,
std::size_t  end,
upper   
)

Definition at line 137 of file potrf.hpp.

References potrf_recursive(), and simple_trans().

◆ pstrf() [1/2]

template<class MatA , class VecP >
std::size_t remora::bindings::pstrf ( matrix_expression< MatA, cpu_tag > &  A,
vector_expression< VecP, cpu_tag > &  P,
lower   
)

◆ pstrf() [2/2]

template<class MatA , class VecP >
std::size_t remora::bindings::pstrf ( matrix_expression< MatA, cpu_tag > &  A,
vector_expression< VecP, cpu_tag > &  P,
upper   
)

Definition at line 154 of file pstrf.hpp.

References pstrf(), and simple_trans().

◆ simple_column() [1/2]

template<class M >
matrix_row< matrix_transpose< typename const_expression<M>::type > > remora::bindings::simple_column ( matrix_expression< M, cpu_tag > const &  expression,
typename M::size_type  i 
)

Definition at line 86 of file simple_proxies.hpp.

Referenced by pstrf().

◆ simple_column() [2/2]

template<class M >
matrix_row< matrix_transpose<M> > remora::bindings::simple_column ( matrix_expression< M, cpu_tag > &  expression,
typename M::size_type  i 
)

Definition at line 93 of file simple_proxies.hpp.

◆ simple_row() [1/2]

template<class M >
matrix_row<typename const_expression<M>::type> remora::bindings::simple_row ( matrix_expression< M, cpu_tag > const &  expression,
typename M::size_type  i 
)

Definition at line 74 of file simple_proxies.hpp.

Referenced by pstrf().

◆ simple_row() [2/2]

template<class M >
matrix_row<M> remora::bindings::simple_row ( matrix_expression< M, cpu_tag > &  expression,
typename M::size_type  i 
)

Definition at line 79 of file simple_proxies.hpp.

◆ simple_subrange() [1/4]

template<class V >
vector_range<typename const_expression<V>::type> remora::bindings::simple_subrange ( vector_expression< V, cpu_tag > const &  expression,
std::size_t  start,
std::size_t  stop 
)

Definition at line 46 of file simple_proxies.hpp.

Referenced by getrf_recursive(), potrf_recursive(), pstrf(), and trsm_recursive().

◆ simple_subrange() [2/4]

template<class V >
vector_range<V> remora::bindings::simple_subrange ( vector_expression< V, cpu_tag > &  expression,
std::size_t  start,
std::size_t  stop 
)

Definition at line 52 of file simple_proxies.hpp.

◆ simple_subrange() [3/4]

template<class M >
matrix_range<typename const_expression<M>::type> remora::bindings::simple_subrange ( matrix_expression< M, cpu_tag > const &  expression,
std::size_t  start1,
std::size_t  stop1,
std::size_t  start2,
std::size_t  stop2 
)

Definition at line 59 of file simple_proxies.hpp.

◆ simple_subrange() [4/4]

template<class M >
matrix_range<M> remora::bindings::simple_subrange ( matrix_expression< M, cpu_tag > &  expression,
std::size_t  start1,
std::size_t  stop1,
std::size_t  start2,
std::size_t  stop2 
)

Definition at line 66 of file simple_proxies.hpp.

◆ simple_trans() [1/2]

template<class M >
matrix_transpose< typename const_expression<M>::type > remora::bindings::simple_trans ( matrix_expression< M, cpu_tag >const &  m)

Definition at line 102 of file simple_proxies.hpp.

Referenced by potrf_block(), potrf_recursive(), pstrf(), and trsm_recursive().

◆ simple_trans() [2/2]

template<class M >
matrix_transpose<M> remora::bindings::simple_trans ( matrix_expression< M, cpu_tag > &  m)

Definition at line 107 of file simple_proxies.hpp.

◆ sum_rows() [1/5]

template<class M , class V , class Device , class Tag1 , class Tag2 >
void remora::bindings::sum_rows ( matrix_expression< M, Device > const &  A,
vector_expression< V, Device > &  b,
typename V::value_type  alpha,
unknown_orientation  ,
Tag1  ,
Tag2   
)

Definition at line 41 of file sum_rows.hpp.

References sum_rows().

◆ sum_rows() [2/5]

◆ sum_rows() [3/5]

template<class M , class V , class Orientation >
void remora::bindings::sum_rows ( matrix_expression< M, gpu_tag > const &  A,
vector_expression< V, gpu_tag > &  v,
typename V::value_type  alpha,
Orientation  ,
dense_tag  ,
dense_tag   
)

Definition at line 43 of file sum_rows.hpp.

◆ sum_rows() [4/5]

template<class M , class V , class Tag1 , class Tag2 >
void remora::bindings::sum_rows ( matrix_expression< M, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  v,
typename V::value_type  alpha,
row_major  ,
Tag1  ,
Tag2   
)

Definition at line 58 of file sum_rows.hpp.

◆ sum_rows() [5/5]

template<class M , class V , class Orientation , class Triangular , class Tag1 , class Tag2 >
void remora::bindings::sum_rows ( matrix_expression< M, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  v,
typename V::value_type  alpha,
triangular< Orientation, Triangular >  ,
Tag1  ,
Tag2   
)

Definition at line 75 of file sum_rows.hpp.

References sum_rows().

◆ syev() [1/3]

void remora::bindings::syev ( int  n,
bool  upper,
double *  A,
int  lda,
double *  eigenvalues 
)
inline

Definition at line 52 of file syev.hpp.

References REMORA_LAPACK_DSYEV.

◆ syev() [2/3]

template<typename MatA , typename V >
void remora::bindings::syev ( matrix_expression< MatA, cpu_tag > &  vmatA,
vector_expression< V, cpu_tag > &  dvecA 
)

Definition at line 65 of file syev.hpp.

References eigensort(), and h.

Referenced by remora::kernels::syev(), and syev().

◆ syev() [3/3]

template<typename MatA , typename VectorB >
void remora::bindings::syev ( matrix_expression< MatA, cpu_tag > &  A,
vector_expression< VectorB, cpu_tag > &  eigenValues 
)

Definition at line 70 of file syev.hpp.

References shark::swap(), syev(), and remora::trans().

◆ syrk() [1/4]

void remora::bindings::syrk ( CBLAS_ORDER const  order,
CBLAS_UPLO  uplo,
CBLAS_TRANSPOSE  trans,
int  N,
int  K,
float  alpha,
float const *  A,
int  lda,
float  beta,
float *  C,
int  ldc 
)
inline

Definition at line 40 of file syrk.hpp.

Referenced by syrk().

◆ syrk() [2/4]

void remora::bindings::syrk ( CBLAS_ORDER const  order,
CBLAS_UPLO  uplo,
CBLAS_TRANSPOSE  trans,
int  N,
int  K,
double  alpha,
double const *  A,
int  lda,
double  beta,
double *  C,
int  ldc 
)
inline

Definition at line 54 of file syrk.hpp.

◆ syrk() [3/4]

template<bool Upper, typename MatA , typename MatC >
void remora::bindings::syrk ( matrix_expression< MatA, cpu_tag > const &  A,
matrix_expression< MatC, cpu_tag > &  C,
typename MatC::value_type  alpha,
std::true_type   
)

Definition at line 71 of file syrk.hpp.

References syrk(), and remora::trans().

◆ syrk() [4/4]

template<bool Upper, typename M , typename E >
void remora::bindings::syrk ( matrix_expression< E, cpu_tag > const &  e,
matrix_expression< M, cpu_tag > &  m,
typename M::value_type &  alpha,
std::false_type   
)

Definition at line 136 of file syrk.hpp.

References syrk_impl().

◆ syrk_impl()

template<class E , class Mat , class Triangular >
void remora::bindings::syrk_impl ( matrix_expression< E, cpu_tag > const &  e,
matrix_expression< Mat, cpu_tag > &  m,
typename Mat::value_type &  alpha,
Triangular  t 
)

Definition at line 51 of file syrk.hpp.

References mgemm(), remora::min(), pack_A_dense(), and pack_B_dense().

Referenced by syrk().

◆ tpmv() [1/6]

void remora::bindings::tpmv ( CBLAS_ORDER const  Order,
CBLAS_UPLO const  uplo,
CBLAS_TRANSPOSE const  transA,
CBLAS_DIAG const  unit,
int const  N,
float const *  A,
float *  X,
int const  incX 
)
inline

Definition at line 40 of file tpmv.hpp.

Referenced by remora::kernels::tpmv(), and tpmv().

◆ tpmv() [2/6]

void remora::bindings::tpmv ( CBLAS_ORDER const  Order,
CBLAS_UPLO const  uplo,
CBLAS_TRANSPOSE const  transA,
CBLAS_DIAG const  unit,
int const  N,
double const *  A,
double *  X,
int const  incX 
)
inline

Definition at line 55 of file tpmv.hpp.

◆ tpmv() [3/6]

void remora::bindings::tpmv ( CBLAS_ORDER const  Order,
CBLAS_UPLO const  uplo,
CBLAS_TRANSPOSE const  transA,
CBLAS_DIAG const  unit,
int const  N,
std::complex< float > const *  A,
std::complex< float > *  X,
int const  incX 
)
inline

Definition at line 71 of file tpmv.hpp.

◆ tpmv() [4/6]

void remora::bindings::tpmv ( CBLAS_ORDER const  Order,
CBLAS_UPLO const  uplo,
CBLAS_TRANSPOSE const  transA,
CBLAS_DIAG const  unit,
int const  N,
std::complex< double > const *  A,
std::complex< double > *  X,
int const  incX 
)
inline

Definition at line 86 of file tpmv.hpp.

◆ tpmv() [5/6]

template<typename MatA , typename VectorX >
void remora::bindings::tpmv ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< VectorX, cpu_tag > &  x,
std::true_type   
)

Definition at line 102 of file tpmv.hpp.

References tpmv().

◆ tpmv() [6/6]

template<typename MatA , typename V >
void remora::bindings::tpmv ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
std::false_type   
)

Definition at line 149 of file tpmv.hpp.

References tpmv_impl().

◆ tpmv_impl() [1/4]

template<class MatA , class V >
void remora::bindings::tpmv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
row_major  ,
upper   
)

Definition at line 47 of file tpmv.hpp.

References remora::sum().

Referenced by tpmv().

◆ tpmv_impl() [2/4]

template<class MatA , class V >
void remora::bindings::tpmv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
row_major  ,
lower   
)

Definition at line 74 of file tpmv.hpp.

References remora::sum().

◆ tpmv_impl() [3/4]

template<class MatA , class V >
void remora::bindings::tpmv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
column_major  ,
upper   
)

Definition at line 100 of file tpmv.hpp.

◆ tpmv_impl() [4/4]

template<class MatA , class V >
void remora::bindings::tpmv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
column_major  ,
lower   
)

Definition at line 125 of file tpmv.hpp.

◆ trmm() [1/6]

void remora::bindings::trmm ( CBLAS_ORDER const  order,
CBLAS_SIDE const  side,
CBLAS_UPLO const  uplo,
CBLAS_TRANSPOSE const  transA,
CBLAS_DIAG const  unit,
int const  M,
int const  N,
float const *  A,
int const  lda,
float *  B,
int const  incB 
)
inline

Definition at line 40 of file trmm.hpp.

Referenced by trmm().

◆ trmm() [2/6]

void remora::bindings::trmm ( CBLAS_ORDER const  order,
CBLAS_SIDE const  side,
CBLAS_UPLO const  uplo,
CBLAS_TRANSPOSE const  transA,
CBLAS_DIAG const  unit,
int const  M,
int const  N,
double const *  A,
int const  lda,
double *  B,
int const  incB 
)
inline

Definition at line 58 of file trmm.hpp.

◆ trmm() [3/6]

void remora::bindings::trmm ( CBLAS_ORDER const  order,
CBLAS_SIDE const  side,
CBLAS_UPLO const  uplo,
CBLAS_TRANSPOSE const  transA,
CBLAS_DIAG const  unit,
int const  M,
int const  N,
std::complex< float > const *  A,
int const  lda,
std::complex< float > *  B,
int const  incB 
)
inline

Definition at line 77 of file trmm.hpp.

◆ trmm() [4/6]

void remora::bindings::trmm ( CBLAS_ORDER const  order,
CBLAS_SIDE const  side,
CBLAS_UPLO const  uplo,
CBLAS_TRANSPOSE const  transA,
CBLAS_DIAG const  unit,
int const  M,
int const  N,
std::complex< double > const *  A,
int const  lda,
std::complex< double > *  B,
int const  incB 
)
inline

Definition at line 96 of file trmm.hpp.

◆ trmm() [5/6]

template<bool upper, bool unit, typename MatA , typename MatB >
void remora::bindings::trmm ( matrix_expression< MatA, cpu_tag > const &  A,
matrix_expression< MatB, cpu_tag > &  B,
std::true_type   
)

Definition at line 116 of file trmm.hpp.

References remora::trans(), and trmm().

◆ trmm() [6/6]

template<bool Upper, bool Unit, typename MatA , typename MatB >
void remora::bindings::trmm ( matrix_expression< MatA, cpu_tag > const &  A,
matrix_expression< MatB, cpu_tag > &  B,
std::false_type   
)

Definition at line 170 of file trmm.hpp.

References trmm_impl().

◆ trmm_impl()

template<class E1 , class E2 , class Triangular >
void remora::bindings::trmm_impl ( matrix_expression< E1, cpu_tag > const &  e1,
matrix_expression< E2, cpu_tag > &  e2,
Triangular  t 
)

Definition at line 100 of file trmm.hpp.

References mgemm(), remora::min(), pack_A_dense(), pack_A_triangular(), and pack_B_dense().

Referenced by trmm().

◆ trmm_recursive()

template<typename MatA , typename MatB , typename Triangular >
void remora::bindings::trmm_recursive ( matrix_expression< MatA, gpu_tag > const &  Afull,
matrix_expression< MatB, gpu_tag > &  Bfull,
trmm_kernel kernel,
std::size_t  start,
std::size_t  end,
std::size_t  tileSizeA,
std::size_t  tileSizeB,
std::size_t  numWorkers,
Triangular  t 
)

◆ trmv() [1/6]

void remora::bindings::trmv ( CBLAS_ORDER const  Order,
CBLAS_UPLO const  uplo,
CBLAS_TRANSPOSE const  transA,
CBLAS_DIAG const  unit,
int const  N,
float const *  A,
int const  lda,
float *  X,
int const  incX 
)
inline

Definition at line 40 of file trmv.hpp.

Referenced by trmv(), and trmv_recursive().

◆ trmv() [2/6]

void remora::bindings::trmv ( CBLAS_ORDER const  Order,
CBLAS_UPLO const  uplo,
CBLAS_TRANSPOSE const  transA,
CBLAS_DIAG const  unit,
int const  N,
double const *  A,
int const  lda,
double *  X,
int const  incX 
)
inline

Definition at line 55 of file trmv.hpp.

◆ trmv() [3/6]

void remora::bindings::trmv ( CBLAS_ORDER const  Order,
CBLAS_UPLO const  uplo,
CBLAS_TRANSPOSE const  transA,
CBLAS_DIAG const  unit,
int const  N,
std::complex< float > const *  A,
int const  lda,
std::complex< float > *  X,
int const  incX 
)
inline

Definition at line 71 of file trmv.hpp.

◆ trmv() [4/6]

void remora::bindings::trmv ( CBLAS_ORDER const  Order,
CBLAS_UPLO const  uplo,
CBLAS_TRANSPOSE const  transA,
CBLAS_DIAG const  unit,
int const  N,
std::complex< double > const *  A,
int const  lda,
std::complex< double > *  X,
int const  incX 
)
inline

Definition at line 86 of file trmv.hpp.

◆ trmv() [5/6]

template<bool upper, bool unit, typename MatA , typename VectorX >
void remora::bindings::trmv ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< VectorX, cpu_tag > &  x,
std::true_type   
)

Definition at line 102 of file trmv.hpp.

References trmv().

◆ trmv() [6/6]

template<bool Upper, bool Unit, typename MatA , typename V >
void remora::bindings::trmv ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
std::false_type   
)

Definition at line 181 of file trmv.hpp.

◆ trmv_impl() [1/4]

template<bool Unit, class MatA , class V >
void remora::bindings::trmv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
lower  ,
row_major   
)

Definition at line 44 of file trmv.hpp.

References remora::kernels::gemv(), remora::min(), and remora::noalias().

◆ trmv_impl() [2/4]

template<bool Unit, class MatA , class V >
void remora::bindings::trmv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
upper  ,
row_major   
)

Definition at line 92 of file trmv.hpp.

References remora::kernels::dot().

◆ trmv_impl() [3/4]

template<bool Unit, class MatA , class V >
void remora::bindings::trmv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
lower  ,
column_major   
)

Definition at line 114 of file trmv.hpp.

◆ trmv_impl() [4/4]

template<bool Unit, class MatA , class V >
void remora::bindings::trmv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
upper  ,
column_major   
)

Definition at line 134 of file trmv.hpp.

References remora::kernels::gemv(), remora::min(), and remora::noalias().

◆ trmv_recursive()

template<typename MatA , typename VecV , typename Triangular >
void remora::bindings::trmv_recursive ( matrix_expression< MatA, gpu_tag > const &  Afull,
vector_expression< VecV, gpu_tag > &  vfull,
trmv_kernel kernel,
std::size_t  start,
std::size_t  end,
std::size_t  tileSizeA,
Triangular  t 
)

◆ trsm() [1/6]

void remora::bindings::trsm ( CBLAS_ORDER  order,
CBLAS_UPLO  uplo,
CBLAS_TRANSPOSE  transA,
CBLAS_SIDE  side,
CBLAS_DIAG  unit,
int  n,
int  nRHS,
float const *  A,
int  lda,
float *  B,
int  ldb 
)
inline

Definition at line 40 of file trsm.hpp.

Referenced by trsm_call(), and trsm_impl().

◆ trsm() [2/6]

void remora::bindings::trsm ( CBLAS_ORDER  order,
CBLAS_UPLO  uplo,
CBLAS_TRANSPOSE  transA,
CBLAS_SIDE  side,
CBLAS_DIAG  unit,
int  n,
int  nRHS,
double const *  A,
int  lda,
double *  B,
int  ldb 
)
inline

Definition at line 49 of file trsm.hpp.

◆ trsm() [3/6]

void remora::bindings::trsm ( CBLAS_ORDER  order,
CBLAS_UPLO  uplo,
CBLAS_TRANSPOSE  transA,
CBLAS_SIDE  side,
CBLAS_DIAG  unit,
int  n,
int  nRHS,
std::complex< float > const *  A,
int  lda,
std::complex< float > *  B,
int  ldb 
)
inline

Definition at line 58 of file trsm.hpp.

◆ trsm() [4/6]

void remora::bindings::trsm ( CBLAS_ORDER  order,
CBLAS_UPLO  uplo,
CBLAS_TRANSPOSE  transA,
CBLAS_SIDE  side,
CBLAS_DIAG  unit,
int  n,
int  nRHS,
std::complex< double > const *  A,
int  lda,
std::complex< double > *  B,
int  ldb 
)
inline

Definition at line 70 of file trsm.hpp.

◆ trsm() [5/6]

template<class Triangular , class Side , typename MatA , typename MatB >
void remora::bindings::trsm ( matrix_expression< MatA, cpu_tag > const &  A,
matrix_expression< MatB, cpu_tag > &  B,
std::true_type   
)

Definition at line 127 of file trsm.hpp.

◆ trsm() [6/6]

template<class Triangular , class Side , typename MatA , typename MatB >
void remora::bindings::trsm ( matrix_expression< MatA, cpu_tag > const &  A,
matrix_expression< MatB, cpu_tag > &  B,
std::false_type   
)

Definition at line 276 of file trsm.hpp.

References trsm_recursive().

◆ trsm_block() [1/4]

template<std::size_t maxBlockSize1, std::size_t maxBlockSize2, bool Unit, class MatA , class MatB >
void remora::bindings::trsm_block ( matrix_expression< MatA, cpu_tag > const &  A,
matrix_expression< MatB, cpu_tag > &  B,
lower  ,
row_major   
)

Definition at line 45 of file trsm.hpp.

References remora::min().

◆ trsm_block() [2/4]

template<std::size_t maxBlockSize1, std::size_t maxBlockSize2, bool Unit, class MatA , class MatB >
void remora::bindings::trsm_block ( matrix_expression< MatA, cpu_tag > const &  A,
matrix_expression< MatB, cpu_tag > &  B,
lower  ,
column_major   
)

Definition at line 102 of file trsm.hpp.

◆ trsm_block() [3/4]

template<std::size_t maxBlockSize1, std::size_t maxBlockSize2, bool Unit, class MatA , class MatB >
void remora::bindings::trsm_block ( matrix_expression< MatA, cpu_tag > const &  A,
matrix_expression< MatB, cpu_tag > &  B,
upper  ,
row_major   
)

Definition at line 136 of file trsm.hpp.

References remora::min().

◆ trsm_block() [4/4]

template<std::size_t maxBlockSize1, std::size_t maxBlockSize2, bool Unit, class MatA , class MatB >
void remora::bindings::trsm_block ( matrix_expression< MatA, cpu_tag > const &  A,
matrix_expression< MatB, cpu_tag > &  B,
upper  ,
column_major   
)

Definition at line 192 of file trsm.hpp.

◆ trsm_call() [1/2]

template<typename MatA , typename MatB , class Triangular >
void remora::bindings::trsm_call ( matrix_expression< MatA, gpu_tag > const &  A,
matrix_expression< MatB, gpu_tag > &  B,
Triangular  ,
left   
)

Definition at line 181 of file trsm.hpp.

References createTRSMDiagBlockKernel(), remora::bindings::trsm_kernel::kernel, and trsm_recursive().

Referenced by trsm_call().

◆ trsm_call() [2/2]

template<typename MatA , typename MatB , class Triangular >
void remora::bindings::trsm_call ( matrix_expression< MatA, gpu_tag > const &  A,
matrix_expression< MatB, gpu_tag > &  B,
Triangular  ,
right   
)

Definition at line 199 of file trsm.hpp.

References trsm(), and trsm_call().

◆ trsm_impl() [1/2]

template<class Triangular , typename MatA , typename MatB >
void remora::bindings::trsm_impl ( matrix_expression< MatA, cpu_tag > const &  A,
matrix_expression< MatB, cpu_tag > &  B,
std::true_type  ,
left   
)

Definition at line 86 of file trsm.hpp.

References trsm().

◆ trsm_impl() [2/2]

template<class Triangular , typename MatA , typename MatB >
void remora::bindings::trsm_impl ( matrix_expression< MatA, cpu_tag > const &  A,
matrix_expression< MatB, cpu_tag > &  B,
std::true_type  ,
right   
)

Definition at line 116 of file trsm.hpp.

◆ trsm_recursive() [1/3]

template<typename MatA , typename MatB , class Triangular >
void remora::bindings::trsm_recursive ( matrix_expression< MatA, gpu_tag > const &  Afull,
matrix_expression< MatB, gpu_tag > &  Bfull,
trsm_kernel kernel,
std::size_t  start,
std::size_t  end,
std::size_t  tileSizeA,
std::size_t  tileSizeB,
std::size_t  numWorkers,
Triangular  t 
)

◆ trsm_recursive() [2/3]

template<typename MatA , typename MatB , class Triangular >
void remora::bindings::trsm_recursive ( matrix_expression< MatA, cpu_tag > const &  Afull,
matrix_expression< MatB, cpu_tag > &  Bfull,
std::size_t  start,
std::size_t  end,
Triangular  t,
left  l 
)

Definition at line 225 of file trsm.hpp.

References remora::kernels::gemm(), and simple_subrange().

Referenced by trsm(), trsm_call(), and trsm_recursive().

◆ trsm_recursive() [3/3]

template<typename MatA , typename MatB , class Triangular >
void remora::bindings::trsm_recursive ( matrix_expression< MatA, cpu_tag > const &  Afull,
matrix_expression< MatB, cpu_tag > &  Bfull,
std::size_t  start,
std::size_t  end,
Triangular  ,
right   
)

Definition at line 261 of file trsm.hpp.

References simple_trans(), and trsm_recursive().

◆ trsv() [1/6]

void remora::bindings::trsv ( CBLAS_ORDER  order,
CBLAS_UPLO  uplo,
CBLAS_TRANSPOSE  transA,
CBLAS_DIAG  unit,
int  n,
float const *  A,
int  lda,
float *  b,
int  strideX 
)
inline

Definition at line 40 of file trsv.hpp.

Referenced by trsv_call(), and trsv_impl().

◆ trsv() [2/6]

void remora::bindings::trsv ( CBLAS_ORDER  order,
CBLAS_UPLO  uplo,
CBLAS_TRANSPOSE  transA,
CBLAS_DIAG  unit,
int  n,
double const *  A,
int  lda,
double *  b,
int  strideX 
)
inline

Definition at line 49 of file trsv.hpp.

◆ trsv() [3/6]

void remora::bindings::trsv ( CBLAS_ORDER  order,
CBLAS_UPLO  uplo,
CBLAS_TRANSPOSE  transA,
CBLAS_DIAG  unit,
int  n,
std::complex< float > const *  A,
int  lda,
std::complex< float > *  b,
int  strideX 
)
inline

Definition at line 58 of file trsv.hpp.

◆ trsv() [4/6]

void remora::bindings::trsv ( CBLAS_ORDER  order,
CBLAS_UPLO  uplo,
CBLAS_TRANSPOSE  transA,
CBLAS_DIAG  unit,
int  n,
std::complex< double > const *  A,
int  lda,
std::complex< double > *  b,
int  strideX 
)
inline

Definition at line 68 of file trsv.hpp.

◆ trsv() [5/6]

template<class Triangular , class Side , typename MatA , typename V >
void remora::bindings::trsv ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
std::true_type   
)

Definition at line 119 of file trsv.hpp.

◆ trsv() [6/6]

template<class Triangular , class Side , typename MatA , typename V >
void remora::bindings::trsv ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
std::false_type   
)

Definition at line 183 of file trsv.hpp.

◆ trsv_call() [1/2]

template<typename MatA , typename VecB , class Triangular >
void remora::bindings::trsv_call ( matrix_expression< MatA, gpu_tag > const &  A,
vector_expression< VecB, gpu_tag > &  b,
Triangular  ,
left   
)

Definition at line 167 of file trsv.hpp.

References createTRSVDiagBlockKernel(), remora::bindings::trsv_kernel::kernel, and trsv_recursive().

Referenced by trsv_call().

◆ trsv_call() [2/2]

template<typename MatA , typename VecB , class Triangular >
void remora::bindings::trsv_call ( matrix_expression< MatA, gpu_tag > const &  A,
vector_expression< VecB, gpu_tag > &  b,
Triangular  ,
right   
)

Definition at line 181 of file trsv.hpp.

References trsv(), and trsv_call().

◆ trsv_impl() [1/7]

template<bool Unit, class MatA , class V >
void remora::bindings::trsv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
lower  ,
column_major  ,
left   
)

Definition at line 46 of file trsv.hpp.

References remora::plus_assign(), and remora::row().

◆ trsv_impl() [2/7]

template<bool Unit, class MatA , class V >
void remora::bindings::trsv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
lower  ,
row_major  ,
left   
)

Definition at line 75 of file trsv.hpp.

References remora::kernels::dot().

◆ trsv_impl() [3/7]

template<class Triangular , typename MatA , typename V >
void remora::bindings::trsv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
std::true_type  ,
left   
)

Definition at line 82 of file trsv.hpp.

References trsv().

◆ trsv_impl() [4/7]

template<bool Unit, class MatA , class V >
void remora::bindings::trsv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
upper  ,
column_major  ,
left   
)

Definition at line 105 of file trsv.hpp.

References remora::plus_assign(), and remora::row().

◆ trsv_impl() [5/7]

template<class Triangular , typename MatA , typename V >
void remora::bindings::trsv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
std::true_type  ,
right   
)

Definition at line 107 of file trsv.hpp.

◆ trsv_impl() [6/7]

template<bool Unit, class MatA , class V >
void remora::bindings::trsv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
upper  ,
row_major  ,
left   
)

Definition at line 135 of file trsv.hpp.

References remora::kernels::dot().

◆ trsv_impl() [7/7]

template<bool Unit, class Triangular , class Orientation , class MatA , class V >
void remora::bindings::trsv_impl ( matrix_expression< MatA, cpu_tag > const &  A,
vector_expression< V, cpu_tag > &  b,
Triangular  ,
Orientation  ,
right   
)

Definition at line 167 of file trsv.hpp.

◆ trsv_recursive()

template<typename MatA , typename VecB , class Triangular >
void remora::bindings::trsv_recursive ( matrix_expression< MatA, gpu_tag > const &  Afull,
vector_expression< VecB, gpu_tag > &  bfull,
trsv_kernel kernel,
std::size_t  start,
std::size_t  end,
std::size_t  tileSize,
std::size_t  numWorkers,
Triangular  t 
)

◆ uConv2d()

template<class T , class block_size >
void remora::bindings::uConv2d ( T const *  image,
T const *  filter,
T *  output,
std::size_t  image_size1,
std::size_t  image_size2,
std::size_t  filter_size1,
std::size_t  filter_size2,
block_size   
)

◆ ugemm()

template<class block_size , class T , class TC >
void remora::bindings::ugemm ( std::size_t  kc,
TC  alpha,
T const *  A,
T const *  B,
TC *  C,
std::size_t  stride1,
std::size_t  stride2 
)

Definition at line 51 of file mgemm.hpp.

◆ vector_assign() [1/7]

template<class V , class E >
void remora::bindings::vector_assign ( vector_expression< V, cpu_tag > &  v,
vector_expression< E, cpu_tag > const &  e,
dense_tag  ,
dense_tag   
)

Definition at line 51 of file vector_assign.hpp.

Referenced by remora::kernels::assign(), and vector_assign_functor().

◆ vector_assign() [2/7]

template<class V , class E >
void remora::bindings::vector_assign ( vector_expression< V, gpu_tag > &  v,
vector_expression< E, gpu_tag > const &  e,
dense_tag  ,
dense_tag   
)

Definition at line 52 of file vector_assign.hpp.

◆ vector_assign() [3/7]

template<class V , class E >
void remora::bindings::vector_assign ( vector_expression< V, cpu_tag > &  v,
vector_expression< E, cpu_tag > const &  e,
dense_tag  ,
packed_tag   
)

Definition at line 61 of file vector_assign.hpp.

◆ vector_assign() [4/7]

template<class V , class E >
void remora::bindings::vector_assign ( vector_expression< V, cpu_tag > &  v,
vector_expression< E, cpu_tag > const &  e,
packed_tag  ,
packed_tag   
)

Definition at line 94 of file vector_assign.hpp.

◆ vector_assign() [5/7]

template<class V , class E >
void remora::bindings::vector_assign ( vector_expression< V, cpu_tag > &  v,
vector_expression< E, cpu_tag > const &  e,
dense_tag  ,
sparse_tag   
)

Definition at line 125 of file vector_assign.hpp.

◆ vector_assign() [6/7]

template<class V , class E >
void remora::bindings::vector_assign ( vector_expression< V, cpu_tag > &  v,
vector_expression< E, cpu_tag > const &  e,
sparse_tag  ,
dense_tag   
)

Definition at line 140 of file vector_assign.hpp.

◆ vector_assign() [7/7]

template<class V , class E >
void remora::bindings::vector_assign ( vector_expression< V, cpu_tag > &  v,
vector_expression< E, cpu_tag > const &  e,
sparse_tag  ,
sparse_tag   
)

Definition at line 156 of file vector_assign.hpp.

◆ vector_assign_functor() [1/10]

template<class V , class E , class F >
void remora::bindings::vector_assign_functor ( vector_expression< V, gpu_tag > &  v,
vector_expression< E, gpu_tag > const &  e,
f,
dense_tag  ,
dense_tag   
)

Definition at line 66 of file vector_assign.hpp.

References shark::transform().

◆ vector_assign_functor() [2/10]

template<class V , class E , class F >
void remora::bindings::vector_assign_functor ( vector_expression< V, cpu_tag > &  v,
vector_expression< E, cpu_tag > const &  e,
f,
dense_tag  ,
dense_tag   
)

Definition at line 178 of file vector_assign.hpp.

Referenced by remora::kernels::assign().

◆ vector_assign_functor() [3/10]

template<class V , class E , class F >
void remora::bindings::vector_assign_functor ( vector_expression< V, cpu_tag > &  v,
vector_expression< E, cpu_tag > const &  e,
f,
dense_tag  ,
packed_tag   
)

Definition at line 191 of file vector_assign.hpp.

◆ vector_assign_functor() [4/10]

template<class V , class E , class F >
void remora::bindings::vector_assign_functor ( vector_expression< V, cpu_tag > &  v,
vector_expression< E, cpu_tag > const &  e,
f,
packed_tag  ,
packed_tag   
)

Definition at line 223 of file vector_assign.hpp.

◆ vector_assign_functor() [5/10]

template<class V , class E , class F >
void remora::bindings::vector_assign_functor ( vector_expression< V, cpu_tag > &  v,
vector_expression< E, cpu_tag > const &  e,
f,
dense_tag  ,
sparse_tag   
)

Definition at line 263 of file vector_assign.hpp.

◆ vector_assign_functor() [6/10]

template<class V , class E , class F >
void remora::bindings::vector_assign_functor ( vector_expression< V, cpu_tag > &  v,
vector_expression< E, cpu_tag > const &  e,
f,
sparse_tag  tag,
dense_tag   
)

Definition at line 278 of file vector_assign.hpp.

◆ vector_assign_functor() [7/10]

template<class V , class E , class F >
void remora::bindings::vector_assign_functor ( vector_expression< V, cpu_tag > &  v,
vector_container< E, cpu_tag > const &  e,
f,
sparse_tag  tag,
sparse_tag   
)

Definition at line 348 of file vector_assign.hpp.

References assign_sparse().

◆ vector_assign_functor() [8/10]

template<class V , class E , class F >
void remora::bindings::vector_assign_functor ( vector_container< V, cpu_tag > &  v,
vector_expression< E, cpu_tag > const &  e,
f,
sparse_tag  tag,
sparse_tag   
)

Definition at line 357 of file vector_assign.hpp.

References assign_sparse().

◆ vector_assign_functor() [9/10]

template<class V , class E , class F >
void remora::bindings::vector_assign_functor ( vector_container< V, cpu_tag > &  v,
vector_container< E, cpu_tag > const &  e,
f,
sparse_tag  tag,
sparse_tag   
)

Definition at line 366 of file vector_assign.hpp.

References assign_sparse().

◆ vector_assign_functor() [10/10]

template<class V , class E , class F >
void remora::bindings::vector_assign_functor ( vector_expression< V, cpu_tag > &  v,
vector_expression< E, cpu_tag > const &  e,
f,
sparse_tag  tag,
sparse_tag   
)

Definition at line 381 of file vector_assign.hpp.

References assign_sparse(), and vector_assign().

◆ vector_fold() [1/3]

template<class F , class V >
void remora::bindings::vector_fold ( vector_expression< V, cpu_tag > const &  v,
typename F::result_type &  value,
dense_tag   
)

Definition at line 35 of file vector_fold.hpp.

◆ vector_fold() [2/3]

template<class F , class V >
void remora::bindings::vector_fold ( vector_expression< V, gpu_tag > const &  v,
typename F::result_type &  value,
dense_tag   
)

Definition at line 40 of file vector_fold.hpp.

◆ vector_fold() [3/3]

template<class F , class V >
void remora::bindings::vector_fold ( vector_expression< V, cpu_tag > const &  v,
typename F::result_type &  value,
sparse_tag   
)

Definition at line 44 of file vector_fold.hpp.

◆ vector_max() [1/2]

template<class E , class Tag >
std::size_t remora::bindings::vector_max ( vector_expression< E, cpu_tag > const &  v,
Tag   
)

Definition at line 38 of file vector_max.hpp.

Referenced by remora::kernels::vector_max().

◆ vector_max() [2/2]

template<class E >
std::size_t remora::bindings::vector_max ( vector_expression< E, gpu_tag > const &  v,
dense_tag   
)

Definition at line 39 of file vector_max.hpp.