Class muda::details::MatrixFormatConverter
template <typename T, int N>
ClassList > muda > details > MatrixFormatConverter
Inherits the following classes: muda::details::MatrixFormatConverterBase
Public Functions
| Type | Name | 
|---|---|
| MatrixFormatConverter (LinearSystemHandles & handles) | |
| void | bsr2csr (cusparseHandle_t handle, int mb, int nb, int blockDim, cusparseMatDescr_t descrA, const T * bsrValA, const int * bsrRowPtrA, const int * bsrColIndA, int nnzb, DeviceCSRMatrix< T > & to, muda::DeviceBuffer< int > & row_offsets, muda::DeviceBuffer< int > & col_indices, muda::DeviceBuffer< T > & values) | 
| void | calculate_block_offsets (const DeviceBCOOMatrix< T, N > & from, DeviceBSRMatrix< T, N > & to) | 
| 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 (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 | expand_blocks (const DeviceBCOOMatrix< T, N > & from, DeviceCOOMatrix< T > & to) | 
| void | make_unique_blocks (const DeviceTripletMatrix< T, N > & from, DeviceBCOOMatrix< T, N > & to) | 
| void | make_unique_indices (const DeviceTripletMatrix< T, N > & from, DeviceBCOOMatrix< T, N > & to) | 
| void | make_unique_indices (const DeviceDoubletVector< T, N > & from, DeviceBCOOVector< T, N > & to) | 
| void | make_unique_indices_and_blocks (const DeviceTripletMatrix< T, N > & from, DeviceBCOOMatrix< T, N > & to) | 
| void | make_unique_segments (const DeviceDoubletVector< T, N > & from, DeviceBCOOVector< T, N > & to) | 
| void | merge_sort_indices_and_blocks (const DeviceTripletMatrix< T, N > & from, DeviceBCOOMatrix< T, N > & to) | 
| void | merge_sort_indices_and_segments (const DeviceDoubletVector< T, N > & from, DeviceBCOOVector< T, N > & to) | 
| void | radix_sort_indices_and_blocks (const DeviceTripletMatrix< T, N > & from, DeviceBCOOMatrix< T, N > & to) | 
| void | set_unique_values_to_dense_vector (const DeviceBCOOVector< T, N > & from, DeviceDenseVector< T > & to, bool clear_dense_vector) | 
| void | sort_indices_and_values (const DeviceBCOOMatrix< T, N > & from, DeviceCOOMatrix< T > & to) | 
| virtual | ~MatrixFormatConverter () = default | 
Public Functions inherited from muda::details::MatrixFormatConverterBase
See muda::details::MatrixFormatConverterBase
| Type | Name | 
|---|---|
| MatrixFormatConverterBase (LinearSystemHandles & context, cudaDataType_t data_type, int N) | |
| auto | cublas () const | 
| auto | cusolver_dn () const | 
| auto | cusolver_sp () const | 
| auto | cusparse () const | 
| auto | data_type () const | 
| auto | dim () const | 
| void | loose_resize (DeviceBuffer< T > & buf, size_t new_size) | 
| virtual | ~MatrixFormatConverterBase () = default | 
Protected Attributes inherited from muda::details::MatrixFormatConverterBase
See muda::details::MatrixFormatConverterBase
| Type | Name | 
|---|---|
| int | m_N | 
| cudaDataType_t | m_data_type | 
| LinearSystemHandles & | m_handles | 
Public Functions Documentation
function MatrixFormatConverter
inline muda::details::MatrixFormatConverter::MatrixFormatConverter (
    LinearSystemHandles & handles
) 
function bsr2csr
inline void muda::details::MatrixFormatConverter::bsr2csr (
    cusparseHandle_t handle,
    int mb,
    int nb,
    int blockDim,
    cusparseMatDescr_t descrA,
    const T * bsrValA,
    const int * bsrRowPtrA,
    const int * bsrColIndA,
    int nnzb,
    DeviceCSRMatrix < T > & to,
    muda::DeviceBuffer < int > & row_offsets,
    muda::DeviceBuffer < int > & col_indices,
    muda::DeviceBuffer < T > & values
) 
function calculate_block_offsets
inline void muda::details::MatrixFormatConverter::calculate_block_offsets (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceBSRMatrix < T, N > & to
) 
function convert [1/9]
inline void muda::details::MatrixFormatConverter::convert (
    const DeviceTripletMatrix < T, N > & from,
    DeviceBCOOMatrix < T, N > & to
) 
function convert [2/9]
inline void muda::details::MatrixFormatConverter::convert (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceDenseMatrix < T > & to,
    bool clear_dense_matrix=true
) 
function convert [3/9]
inline void muda::details::MatrixFormatConverter::convert (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceCOOMatrix < T > & to
) 
function convert [4/9]
inline void muda::details::MatrixFormatConverter::convert (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceBSRMatrix < T, N > & to
) 
function convert [5/9]
inline void muda::details::MatrixFormatConverter::convert (
    DeviceBCOOMatrix < T, N > && from,
    DeviceBSRMatrix < T, N > & to
) 
function convert [6/9]
inline void muda::details::MatrixFormatConverter::convert (
    const DeviceDoubletVector < T, N > & from,
    DeviceBCOOVector < T, N > & to
) 
function convert [7/9]
inline void muda::details::MatrixFormatConverter::convert (
    const DeviceBCOOVector < T, N > & from,
    DeviceDenseVector < T > & to,
    bool clear_dense_vector=true
) 
function convert [8/9]
inline void muda::details::MatrixFormatConverter::convert (
    const DeviceDoubletVector < T, N > & from,
    DeviceDenseVector < T > & to,
    bool clear_dense_vector=true
) 
function convert [9/9]
inline void muda::details::MatrixFormatConverter::convert (
    const DeviceBSRMatrix < T, N > & from,
    DeviceCSRMatrix < T > & to
) 
function expand_blocks
inline void muda::details::MatrixFormatConverter::expand_blocks (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceCOOMatrix < T > & to
) 
function make_unique_blocks
inline void muda::details::MatrixFormatConverter::make_unique_blocks (
    const DeviceTripletMatrix < T, N > & from,
    DeviceBCOOMatrix < T, N > & to
) 
function make_unique_indices [1/2]
inline void muda::details::MatrixFormatConverter::make_unique_indices (
    const DeviceTripletMatrix < T, N > & from,
    DeviceBCOOMatrix < T, N > & to
) 
function make_unique_indices [2/2]
inline void muda::details::MatrixFormatConverter::make_unique_indices (
    const DeviceDoubletVector < T, N > & from,
    DeviceBCOOVector < T, N > & to
) 
function make_unique_indices_and_blocks
inline void muda::details::MatrixFormatConverter::make_unique_indices_and_blocks (
    const DeviceTripletMatrix < T, N > & from,
    DeviceBCOOMatrix < T, N > & to
) 
function make_unique_segments
inline void muda::details::MatrixFormatConverter::make_unique_segments (
    const DeviceDoubletVector < T, N > & from,
    DeviceBCOOVector < T, N > & to
) 
function merge_sort_indices_and_blocks
inline void muda::details::MatrixFormatConverter::merge_sort_indices_and_blocks (
    const DeviceTripletMatrix < T, N > & from,
    DeviceBCOOMatrix < T, N > & to
) 
function merge_sort_indices_and_segments
inline void muda::details::MatrixFormatConverter::merge_sort_indices_and_segments (
    const DeviceDoubletVector < T, N > & from,
    DeviceBCOOVector < T, N > & to
) 
function radix_sort_indices_and_blocks
inline void muda::details::MatrixFormatConverter::radix_sort_indices_and_blocks (
    const DeviceTripletMatrix < T, N > & from,
    DeviceBCOOMatrix < T, N > & to
) 
function set_unique_values_to_dense_vector
inline void muda::details::MatrixFormatConverter::set_unique_values_to_dense_vector (
    const DeviceBCOOVector < T, N > & from,
    DeviceDenseVector < T > & to,
    bool clear_dense_vector
) 
function sort_indices_and_values
inline void muda::details::MatrixFormatConverter::sort_indices_and_values (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceCOOMatrix < T > & to
) 
function ~MatrixFormatConverter
The documentation for this class was generated from the following file src/muda/ext/linear_system/device_bcoo_matrix.h