Skip to content

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 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_segments_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 calculate_block_offsets

void muda::details::MatrixFormatConverter::calculate_block_offsets (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceBSRMatrix < T, N > & to
) 

function convert [1/9]

void muda::details::MatrixFormatConverter::convert (
    const DeviceTripletMatrix < T, N > & from,
    DeviceBCOOMatrix < T, N > & to
) 

function convert [2/9]

void muda::details::MatrixFormatConverter::convert (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceDenseMatrix < T > & to,
    bool clear_dense_matrix=true
) 

function convert [3/9]

void muda::details::MatrixFormatConverter::convert (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceCOOMatrix < T > & to
) 

function convert [4/9]

void muda::details::MatrixFormatConverter::convert (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceBSRMatrix < T, N > & to
) 

function convert [5/9]

void muda::details::MatrixFormatConverter::convert (
    DeviceBCOOMatrix < T, N > && from,
    DeviceBSRMatrix < T, N > & to
) 

function convert [6/9]

void muda::details::MatrixFormatConverter::convert (
    const DeviceDoubletVector < T, N > & from,
    DeviceBCOOVector < T, N > & to
) 

function convert [7/9]

void muda::details::MatrixFormatConverter::convert (
    const DeviceBCOOVector < T, N > & from,
    DeviceDenseVector < T > & to,
    bool clear_dense_vector=true
) 

function convert [8/9]

void muda::details::MatrixFormatConverter::convert (
    const DeviceDoubletVector < T, N > & from,
    DeviceDenseVector < T > & to,
    bool clear_dense_vector=true
) 

function convert [9/9]

void muda::details::MatrixFormatConverter::convert (
    const DeviceBSRMatrix < T, N > & from,
    DeviceCSRMatrix < T > & to
) 

function expand_blocks

void muda::details::MatrixFormatConverter::expand_blocks (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceCOOMatrix < T > & to
) 

function make_unique_blocks

void muda::details::MatrixFormatConverter::make_unique_blocks (
    const DeviceTripletMatrix < T, N > & from,
    DeviceBCOOMatrix < T, N > & to
) 

function make_unique_indices [1/2]

void muda::details::MatrixFormatConverter::make_unique_indices (
    const DeviceTripletMatrix < T, N > & from,
    DeviceBCOOMatrix < T, N > & to
) 

function make_unique_indices [2/2]

void muda::details::MatrixFormatConverter::make_unique_indices (
    const DeviceDoubletVector < T, N > & from,
    DeviceBCOOVector < T, N > & to
) 

function make_unique_indices_and_blocks

void muda::details::MatrixFormatConverter::make_unique_indices_and_blocks (
    const DeviceTripletMatrix < T, N > & from,
    DeviceBCOOMatrix < T, N > & to
) 

function make_unique_segments

void muda::details::MatrixFormatConverter::make_unique_segments (
    const DeviceDoubletVector < T, N > & from,
    DeviceBCOOVector < T, N > & to
) 

function merge_sort_indices_and_blocks

void muda::details::MatrixFormatConverter::merge_sort_indices_and_blocks (
    const DeviceTripletMatrix < T, N > & from,
    DeviceBCOOMatrix < T, N > & to
) 

function merge_sort_indices_and_segments

void muda::details::MatrixFormatConverter::merge_sort_indices_and_segments (
    const DeviceDoubletVector < T, N > & from,
    DeviceBCOOVector < T, N > & to
) 

function radix_sort_indices_and_blocks

void muda::details::MatrixFormatConverter::radix_sort_indices_and_blocks (
    const DeviceTripletMatrix < T, N > & from,
    DeviceBCOOMatrix < T, N > & to
) 

function set_unique_segments_to_dense_vector

void muda::details::MatrixFormatConverter::set_unique_segments_to_dense_vector (
    const DeviceBCOOVector < T, N > & from,
    DeviceDenseVector < T > & to,
    bool clear_dense_vector
) 

function sort_indices_and_values

void muda::details::MatrixFormatConverter::sort_indices_and_values (
    const DeviceBCOOMatrix < T, N > & from,
    DeviceCOOMatrix < T > & to
) 

function ~MatrixFormatConverter

virtual muda::details::MatrixFormatConverter::~MatrixFormatConverter () = default


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