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