Skip to content

Class muda::LinearSystemContext

ClassList > muda > LinearSystemContext

Public Functions

Type Name
LinearSystemContext (const LinearSystemContextCreateInfo & info={})
LinearSystemContext (const LinearSystemContext &) = delete
LinearSystemContext (LinearSystemContext &&) = delete
void axpby (const T & alpha, CDenseVectorView< T > x, const T & beta, DenseVectorView< T > y)
void axpby (CVarView< T > alpha, CDenseVectorView< T > x, CVarView< T > beta, DenseVectorView< T > y)
void convert (const DeviceTripletMatrix< T, N > & from, DeviceBCOOMatrix< T, N > & to)
void convert (const DeviceBCOOMatrix< T, N > & from, DeviceDenseMatrix< T > & to, bool clear_dense_matrix=true)
void convert (const DeviceBCOOMatrix< T, N > & from, DeviceCOOMatrix< T > & to)
void convert (const DeviceBCOOMatrix< T, N > & from, DeviceBSRMatrix< T, N > & to)
void convert (const DeviceDoubletVector< T, N > & from, DeviceBCOOVector< T, N > & to)
void convert (const DeviceBCOOVector< T, N > & from, DeviceDenseVector< T > & to, bool clear_dense_vector=true)
void convert (const DeviceDoubletVector< T, N > & from, DeviceDenseVector< T > & to, bool clear_dense_vector=true)
void convert (const DeviceBSRMatrix< T, N > & from, DeviceCSRMatrix< T > & to)
void convert (const DeviceTripletMatrix< T, 1 > & from, DeviceCOOMatrix< T > & to)
void convert (const DeviceCOOMatrix< T > & from, DeviceDenseMatrix< T > & to, bool clear_dense_matrix=true)
void convert (const DeviceCOOMatrix< T > & from, DeviceCSRMatrix< T > & to)
void convert (DeviceCOOMatrix< T > && from, DeviceCSRMatrix< T > & to)
void convert (const DeviceDoubletVector< T, 1 > & from, DeviceCOOVector< T > & to)
void convert (const DeviceCOOVector< T > & from, DeviceDenseVector< T > & to, bool clear_dense_vector=true)
void convert (const DeviceDoubletVector< T, 1 > & from, DeviceDenseVector< T > & to, bool clear_dense_vector=true)
T dot (CDenseVectorView< T > x, CDenseVectorView< T > y)
void dot (CDenseVectorView< T > x, CDenseVectorView< T > y, VarView< T > result)
void dot (CDenseVectorView< T > x, CDenseVectorView< T > y, T * result)
void label (std::string_view label)
auto label () const
void mv (CDenseMatrixView< T > A, const T & alpha, CDenseVectorView< T > x, const T & beta, DenseVectorView< T > y)
void mv (CDenseMatrixView< T > A, CVarView< T > alpha, CDenseVectorView< T > x, CVarView< T > beta, DenseVectorView< T > y)
void mv (CDenseMatrixView< T > A, CDenseVectorView< T > x, DenseVectorView< T > y)
T norm (CDenseVectorView< T > x)
void norm (CDenseVectorView< T > x, VarView< T > result)
void norm (CDenseVectorView< T > x, T * result)
LinearSystemContext & operator= (const LinearSystemContext &) = delete
LinearSystemContext & operator= (LinearSystemContext &&) = delete
void plus (CDenseVectorView< T > x, CDenseVectorView< T > y, DenseVectorView< T > z)
auto & reorder ()
auto reserve_ratio () const
void reserve_ratio (float ratio)
void solve (DenseMatrixView< T > A_to_fact, DenseVectorView< T > b_to_x)
void solve (DenseVectorView< T > x, CCSRMatrixView< T > A, CDenseVectorView< T > b)
void spmv (const T & a, CBSRMatrixView< T, N > A, CDenseVectorView< T > x, const T & b, DenseVectorView< T > & y)
void spmv (CBSRMatrixView< T, N > A, CDenseVectorView< T > x, DenseVectorView< T > y)
void spmv (const T & a, CCSRMatrixView< T > A, CDenseVectorView< T > x, const T & b, DenseVectorView< T > & y)
void spmv (CCSRMatrixView< T > A, CDenseVectorView< T > x, DenseVectorView< T > y)
void spmv (const T & a, CTripletMatrixView< T, N > A, CDenseVectorView< T > x, const T & b, DenseVectorView< T > & y)
void spmv (CTripletMatrixView< T, N > A, CDenseVectorView< T > x, DenseVectorView< T > y)
void spmv (const T & a, CCOOMatrixView< T > A, CDenseVectorView< T > x, const T & b, DenseVectorView< T > & y)
void spmv (CCOOMatrixView< T > A, CDenseVectorView< T > x, DenseVectorView< T > y)
auto stream () const
void stream (cudaStream_t stream)
void sync ()
auto & tolerance ()
~LinearSystemContext ()

Public Functions Documentation

function LinearSystemContext [1/3]

muda::LinearSystemContext::LinearSystemContext (
    const LinearSystemContextCreateInfo & info={}
) 

function LinearSystemContext [2/3]

muda::LinearSystemContext::LinearSystemContext (
    const LinearSystemContext &
) = delete

function LinearSystemContext [3/3]

muda::LinearSystemContext::LinearSystemContext (
    LinearSystemContext &&
) = delete

function axpby [1/2]

template<typename T>
void muda::LinearSystemContext::axpby (
    const T & alpha,
    CDenseVectorView < T > x,
    const T & beta,
    DenseVectorView < T > y
) 

function axpby [2/2]

template<typename T>
void muda::LinearSystemContext::axpby (
    CVarView < T > alpha,
    CDenseVectorView < T > x,
    CVarView < T > beta,
    DenseVectorView < T > y
) 

function convert [1/15]

template<typename T, int N>
void muda::LinearSystemContext::convert (
    const DeviceTripletMatrix < T, N > & from,
    DeviceBCOOMatrix < T, N > & to
) 

function convert [2/15]

template<typename T, int N>
void muda::LinearSystemContext::convert (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceDenseMatrix < T > & to,
    bool clear_dense_matrix=true
) 

function convert [3/15]

template<typename T, int N>
void muda::LinearSystemContext::convert (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceCOOMatrix < T > & to
) 

function convert [4/15]

template<typename T, int N>
void muda::LinearSystemContext::convert (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceBSRMatrix < T, N > & to
) 

function convert [5/15]

template<typename T, int N>
void muda::LinearSystemContext::convert (
    const DeviceDoubletVector < T, N > & from,
    DeviceBCOOVector < T, N > & to
) 

function convert [6/15]

template<typename T, int N>
void muda::LinearSystemContext::convert (
    const DeviceBCOOVector < T, N > & from,
    DeviceDenseVector < T > & to,
    bool clear_dense_vector=true
) 

function convert [7/15]

template<typename T, int N>
void muda::LinearSystemContext::convert (
    const DeviceDoubletVector < T, N > & from,
    DeviceDenseVector < T > & to,
    bool clear_dense_vector=true
) 

function convert [8/15]

template<typename T, int N>
void muda::LinearSystemContext::convert (
    const DeviceBSRMatrix < T, N > & from,
    DeviceCSRMatrix < T > & to
) 

function convert [9/15]

template<typename T>
void muda::LinearSystemContext::convert (
    const DeviceTripletMatrix < T, 1 > & from,
    DeviceCOOMatrix < T > & to
) 

function convert [10/15]

template<typename T>
void muda::LinearSystemContext::convert (
    const DeviceCOOMatrix < T > & from,
    DeviceDenseMatrix < T > & to,
    bool clear_dense_matrix=true
) 

function convert [11/15]

template<typename T>
void muda::LinearSystemContext::convert (
    const DeviceCOOMatrix < T > & from,
    DeviceCSRMatrix < T > & to
) 

function convert [12/15]

template<typename T>
void muda::LinearSystemContext::convert (
    DeviceCOOMatrix < T > && from,
    DeviceCSRMatrix < T > & to
) 

function convert [13/15]

template<typename T>
void muda::LinearSystemContext::convert (
    const DeviceDoubletVector < T, 1 > & from,
    DeviceCOOVector < T > & to
) 

function convert [14/15]

template<typename T>
void muda::LinearSystemContext::convert (
    const DeviceCOOVector < T > & from,
    DeviceDenseVector < T > & to,
    bool clear_dense_vector=true
) 

function convert [15/15]

template<typename T>
void muda::LinearSystemContext::convert (
    const DeviceDoubletVector < T, 1 > & from,
    DeviceDenseVector < T > & to,
    bool clear_dense_vector=true
) 

function dot [1/3]

template<typename T>
T muda::LinearSystemContext::dot (
    CDenseVectorView < T > x,
    CDenseVectorView < T > y
) 

function dot [2/3]

template<typename T>
void muda::LinearSystemContext::dot (
    CDenseVectorView < T > x,
    CDenseVectorView < T > y,
    VarView < T > result
) 

function dot [3/3]

template<typename T>
void muda::LinearSystemContext::dot (
    CDenseVectorView < T > x,
    CDenseVectorView < T > y,
    T * result
) 

function label [1/2]

inline void muda::LinearSystemContext::label (
    std::string_view label
) 

function label [2/2]

inline auto muda::LinearSystemContext::label () const

function mv [1/3]

template<typename T>
void muda::LinearSystemContext::mv (
    CDenseMatrixView < T > A,
    const T & alpha,
    CDenseVectorView < T > x,
    const T & beta,
    DenseVectorView < T > y
) 

function mv [2/3]

template<typename T>
void muda::LinearSystemContext::mv (
    CDenseMatrixView < T > A,
    CVarView < T > alpha,
    CDenseVectorView < T > x,
    CVarView < T > beta,
    DenseVectorView < T > y
) 

function mv [3/3]

template<typename T>
void muda::LinearSystemContext::mv (
    CDenseMatrixView < T > A,
    CDenseVectorView < T > x,
    DenseVectorView < T > y
) 

function norm [1/3]

template<typename T>
T muda::LinearSystemContext::norm (
    CDenseVectorView < T > x
) 

function norm [2/3]

template<typename T>
void muda::LinearSystemContext::norm (
    CDenseVectorView < T > x,
    VarView < T > result
) 

function norm [3/3]

template<typename T>
void muda::LinearSystemContext::norm (
    CDenseVectorView < T > x,
    T * result
) 

function operator=

LinearSystemContext & muda::LinearSystemContext::operator= (
    const LinearSystemContext &
) = delete

function operator=

LinearSystemContext & muda::LinearSystemContext::operator= (
    LinearSystemContext &&
) = delete

function plus

template<typename T>
void muda::LinearSystemContext::plus (
    CDenseVectorView < T > x,
    CDenseVectorView < T > y,
    DenseVectorView < T > z
) 

function reorder

inline auto & muda::LinearSystemContext::reorder () 

function reserve_ratio [1/2]

inline auto muda::LinearSystemContext::reserve_ratio () const

function reserve_ratio [2/2]

inline void muda::LinearSystemContext::reserve_ratio (
    float ratio
) 

function solve [1/2]

template<typename T>
void muda::LinearSystemContext::solve (
    DenseMatrixView < T > A_to_fact,
    DenseVectorView < T > b_to_x
) 

function solve [2/2]

template<typename T>
void muda::LinearSystemContext::solve (
    DenseVectorView < T > x,
    CCSRMatrixView < T > A,
    CDenseVectorView < T > b
) 

function spmv [1/8]

template<typename T, int N>
void muda::LinearSystemContext::spmv (
    const T & a,
    CBSRMatrixView < T, N > A,
    CDenseVectorView < T > x,
    const T & b,
    DenseVectorView < T > & y
) 

function spmv [2/8]

template<typename T, int N>
void muda::LinearSystemContext::spmv (
    CBSRMatrixView < T, N > A,
    CDenseVectorView < T > x,
    DenseVectorView < T > y
) 

function spmv [3/8]

template<typename T>
void muda::LinearSystemContext::spmv (
    const T & a,
    CCSRMatrixView < T > A,
    CDenseVectorView < T > x,
    const T & b,
    DenseVectorView < T > & y
) 

function spmv [4/8]

template<typename T>
void muda::LinearSystemContext::spmv (
    CCSRMatrixView < T > A,
    CDenseVectorView < T > x,
    DenseVectorView < T > y
) 

function spmv [5/8]

template<typename T, int N>
void muda::LinearSystemContext::spmv (
    const T & a,
    CTripletMatrixView < T, N > A,
    CDenseVectorView < T > x,
    const T & b,
    DenseVectorView < T > & y
) 

function spmv [6/8]

template<typename T, int N>
void muda::LinearSystemContext::spmv (
    CTripletMatrixView < T, N > A,
    CDenseVectorView < T > x,
    DenseVectorView < T > y
) 

function spmv [7/8]

template<typename T>
void muda::LinearSystemContext::spmv (
    const T & a,
    CCOOMatrixView < T > A,
    CDenseVectorView < T > x,
    const T & b,
    DenseVectorView < T > & y
) 

function spmv [8/8]

template<typename T>
void muda::LinearSystemContext::spmv (
    CCOOMatrixView < T > A,
    CDenseVectorView < T > x,
    DenseVectorView < T > y
) 

function stream [1/2]

inline auto muda::LinearSystemContext::stream () const

function stream [2/2]

void muda::LinearSystemContext::stream (
    cudaStream_t stream
) 

function sync

void muda::LinearSystemContext::sync () 

function tolerance

inline auto & muda::LinearSystemContext::tolerance () 

function ~LinearSystemContext

muda::LinearSystemContext::~LinearSystemContext () 


The documentation for this class was generated from the following file src/muda/ext/linear_system/linear_system_context.h