batmat main
Batched linear algebra routines
Loading...
Searching...
No Matches
flops.hpp File Reference
#include <batmat/assume.hpp>
#include <batmat/config.hpp>
#include <batmat/linalg/structure.hpp>
#include <algorithm>

Go to the source code of this file.

Classes

struct  batmat::linalg::flops::FlopCount
 Count of individual floating point operations, broken down by type. More...

Namespaces

namespace  batmat
namespace  batmat::linalg
namespace  batmat::linalg::flops

Functions

constexpr FlopCount batmat::linalg::flops::operator+ (FlopCount a, FlopCount b)
 Combine two flop counts by summing the counts of each operation type.
constexpr index_t batmat::linalg::flops::total (FlopCount c)
 Compute the total number of floating point operations by summing the counts of all operation types.
constexpr FlopCount batmat::linalg::flops::gemm (index_t m, index_t n, index_t k)
 Matrix-matrix multiplication of m×k and k×n matrices.
constexpr FlopCount batmat::linalg::flops::trmm (index_t m, index_t n, index_t k, MatrixStructure sA, MatrixStructure sB, MatrixStructure sC)
 Matrix-matrix multiplication of m×k and k×n matrices where one or more of the matrices are triangular or trapezoidal.
constexpr FlopCount batmat::linalg::flops::gemmt (index_t m, index_t n, index_t k, MatrixStructure sA, MatrixStructure sB, MatrixStructure sC)
 Matrix-matrix multiplication of m×k and k×n matrices where the result is symmetric.
constexpr FlopCount batmat::linalg::flops::syrk (index_t n, index_t k)
 Symmetric rank-k update of n×n matrices.
constexpr FlopCount batmat::linalg::flops::gemmt_diag (index_t m, index_t n, index_t k, MatrixStructure sC)
 Matrix-matrix multiplication of m×k and k×n matrices with a diagonal k×k matrix in the middle, where the result is symmetric.
constexpr FlopCount batmat::linalg::flops::potrf (index_t m, index_t n)
 Cholesky factorization and triangular solve for an m×n matrix with m≥n.
constexpr FlopCount batmat::linalg::flops::hyh_square (index_t n, index_t k)
 Hyperbolic Householder factorization update with L n×n and A nr×k.
constexpr FlopCount batmat::linalg::flops::hyh_apply (index_t nr, index_t nc, index_t k)
 Hyperbolic Householder factorization application to L2 nr×nc and A2 nr×k.
constexpr FlopCount batmat::linalg::flops::hyh (index_t nr, index_t nc, index_t k)
 Hyperbolic Householder factorization update with L nr×nc and A nr×k.
constexpr FlopCount batmat::linalg::flops::syrk_potrf (index_t m, index_t n, index_t k)
 Fused symmetric rank-k update and Cholesky factorization of an m×n matrix with m≥n.
constexpr FlopCount batmat::linalg::flops::trsm (index_t m, index_t n)
 Triangular solve of m×n matrices.
constexpr FlopCount batmat::linalg::flops::trtri (index_t m)
 Triangular inversion of an m×m matrix.