Advanced Multi-Physics (AMP)
On-Line Documentation
Public Types | Static Public Member Functions | List of all members
AMP::LinearAlgebra::CSRMatrixDataHelpers< Config > Struct Template Reference

#include <CSRMatrixDataHelpers.h>

Public Types

using gidx_t = typename Config::gidx_t
 
using lidx_t = typename Config::lidx_t
 
using mask_t = unsigned char
 
using scalar_t = typename Config::scalar_t
 

Static Public Member Functions

static void ColSubsetCountNNZ (const gidx_t idx_lo, const gidx_t idx_up, const gidx_t first_col, const lidx_t *diag_row_starts, const lidx_t *diag_cols_loc, const lidx_t *offd_row_starts, const lidx_t *offd_cols_loc, const gidx_t *offd_cols_unq, const lidx_t num_rows, lidx_t *out_row_starts)
 
static void ColSubsetFill (const gidx_t idx_lo, const gidx_t idx_up, const gidx_t first_col, const lidx_t *diag_row_starts, const lidx_t *diag_cols_loc, const scalar_t *diag_coeffs, const lidx_t *offd_row_starts, const lidx_t *offd_cols_loc, const gidx_t *offd_cols_unq, const scalar_t *offd_coeffs, const lidx_t num_rows, lidx_t *out_row_starts, gidx_t *out_cols, scalar_t *out_coeffs)
 
static void ConcatHorizontalCountNNZ (const lidx_t *in_row_starts, const lidx_t num_rows, lidx_t *out_row_starts)
 
static void ConcatHorizontalFill (const lidx_t *in_row_starts, const gidx_t *in_cols, const scalar_t *in_coeffs, const lidx_t num_rows, const lidx_t *out_row_starts, lidx_t *row_nnz_ctrs, gidx_t *out_cols, scalar_t *out_coeffs)
 
static void ConcatVerticalCountNNZ (const lidx_t *row_starts, const gidx_t *cols, const lidx_t num_rows, const gidx_t first_col, const gidx_t last_col, const bool keep_inside, lidx_t *counts)
 
static void ConcatVerticalFill (const lidx_t *in_row_starts, const gidx_t *in_cols, const scalar_t *in_coeffs, const lidx_t num_rows, const gidx_t first_col, const gidx_t last_col, const bool keep_inside, const lidx_t row_offset, const lidx_t *out_row_starts, gidx_t *out_cols, scalar_t *out_coeffs)
 
static void GlobalToLocalDiag (gidx_t *cols, lidx_t nnz, gidx_t first_col, lidx_t *cols_loc)
 
static void GlobalToLocalOffd (gidx_t *cols, lidx_t nnz, gidx_t *cols_unq, lidx_t ncols_unq, lidx_t *cols_loc)
 
static void MaskCountNNZ (const lidx_t *in_row_starts, const mask_t *mask, const bool keep_first, const lidx_t num_rows, lidx_t *out_row_starts)
 
static void MaskFillDiag (const lidx_t *in_row_starts, const lidx_t *in_cols_loc, const scalar_t *in_coeffs, const mask_t *mask, const bool keep_first, const lidx_t num_rows, const lidx_t *out_row_starts, lidx_t *out_cols_loc, scalar_t *out_coeffs)
 
static lidx_t RemoveRangeCountDel (const lidx_t *row_starts, const scalar_t *coeffs, const lidx_t num_rows, const scalar_t bnd_lo, const scalar_t bnd_up, lidx_t *del_per_row)
 
static void RemoveRangeFillDiag (const lidx_t *old_row_starts, const lidx_t *old_cols_loc, const scalar_t *old_coeffs, const lidx_t num_rows, const scalar_t bnd_lo, const scalar_t bnd_up, const lidx_t *new_row_starts, lidx_t *new_cols_loc, scalar_t *new_coeffs)
 
static void RemoveRangeFillOffd (const lidx_t *old_row_starts, const lidx_t *old_cols_loc, const gidx_t *old_cols_unq, const scalar_t *old_coeffs, const lidx_t num_rows, const scalar_t bnd_lo, const scalar_t bnd_up, const lidx_t *new_row_starts, gidx_t *new_cols, scalar_t *new_coeffs)
 
static void RemoveRangeUpdateRowStart (const lidx_t *in_row_starts, const lidx_t *del_per_row, const lidx_t num_rows, lidx_t *out_row_starts)
 
static void RowSubsetCountNNZ (const gidx_t *rows, const lidx_t num_rows, const gidx_t first_row, const lidx_t *diag_row_starts, const lidx_t *offd_row_starts, lidx_t *counts)
 
static void RowSubsetFill (const gidx_t *rows, const lidx_t num_rows, const gidx_t first_row, const gidx_t first_col, const lidx_t *diag_row_starts, const lidx_t *offd_row_starts, const lidx_t *diag_cols_loc, const lidx_t *offd_cols_loc, const scalar_t *diag_coeffs, const scalar_t *offd_coeffs, const gidx_t *offd_colmap, const lidx_t *out_row_starts, gidx_t *out_cols, scalar_t *out_coeffs)
 
static void SortColumnsDiag (lidx_t *row_starts, gidx_t *cols, scalar_t *coeffs, lidx_t num_rows, gidx_t first_col)
 
static void SortColumnsOffd (lidx_t *row_starts, gidx_t *cols, scalar_t *coeffs, lidx_t num_rows)
 
static void TransposeDiag (const lidx_t *in_row_starts, const lidx_t *in_cols_loc, const scalar_t *in_coeffs, const lidx_t in_num_rows, const lidx_t out_num_rows, const gidx_t out_first_col, const lidx_t tot_nnz, lidx_t *out_row_starts, lidx_t *out_cols_loc, gidx_t *out_cols, scalar_t *out_coeffs, lidx_t *counters, lidx_t *reduce_space)
 
static void TransposeOffd (const lidx_t *in_row_starts, const gidx_t *in_cols, const scalar_t *in_coeffs, const lidx_t in_num_rows, const gidx_t in_first_col, const lidx_t out_num_rows, const gidx_t out_first_col, const lidx_t tot_nnz, lidx_t *out_row_starts, lidx_t *out_cols_loc, gidx_t *out_cols, scalar_t *out_coeffs, lidx_t *counters, lidx_t *reduce_space)
 

Detailed Description

template<typename Config>
struct AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >

Definition at line 8 of file CSRMatrixDataHelpers.h.

Member Typedef Documentation

◆ gidx_t

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::gidx_t = typename Config::gidx_t

Definition at line 10 of file CSRMatrixDataHelpers.h.

◆ lidx_t

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::lidx_t = typename Config::lidx_t

Definition at line 11 of file CSRMatrixDataHelpers.h.

◆ mask_t

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::mask_t = unsigned char

Definition at line 9 of file CSRMatrixDataHelpers.h.

◆ scalar_t

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::scalar_t = typename Config::scalar_t

Definition at line 12 of file CSRMatrixDataHelpers.h.

Member Function Documentation

◆ ColSubsetCountNNZ()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::ColSubsetCountNNZ ( const gidx_t  idx_lo,
const gidx_t  idx_up,
const gidx_t  first_col,
const lidx_t diag_row_starts,
const lidx_t diag_cols_loc,
const lidx_t offd_row_starts,
const lidx_t offd_cols_loc,
const gidx_t offd_cols_unq,
const lidx_t  num_rows,
lidx_t out_row_starts 
)
static

◆ ColSubsetFill()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::ColSubsetFill ( const gidx_t  idx_lo,
const gidx_t  idx_up,
const gidx_t  first_col,
const lidx_t diag_row_starts,
const lidx_t diag_cols_loc,
const scalar_t diag_coeffs,
const lidx_t offd_row_starts,
const lidx_t offd_cols_loc,
const gidx_t offd_cols_unq,
const scalar_t offd_coeffs,
const lidx_t  num_rows,
lidx_t out_row_starts,
gidx_t out_cols,
scalar_t out_coeffs 
)
static

◆ ConcatHorizontalCountNNZ()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::ConcatHorizontalCountNNZ ( const lidx_t in_row_starts,
const lidx_t  num_rows,
lidx_t out_row_starts 
)
static

◆ ConcatHorizontalFill()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::ConcatHorizontalFill ( const lidx_t in_row_starts,
const gidx_t in_cols,
const scalar_t in_coeffs,
const lidx_t  num_rows,
const lidx_t out_row_starts,
lidx_t row_nnz_ctrs,
gidx_t out_cols,
scalar_t out_coeffs 
)
static

◆ ConcatVerticalCountNNZ()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::ConcatVerticalCountNNZ ( const lidx_t row_starts,
const gidx_t cols,
const lidx_t  num_rows,
const gidx_t  first_col,
const gidx_t  last_col,
const bool  keep_inside,
lidx_t counts 
)
static

◆ ConcatVerticalFill()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::ConcatVerticalFill ( const lidx_t in_row_starts,
const gidx_t in_cols,
const scalar_t in_coeffs,
const lidx_t  num_rows,
const gidx_t  first_col,
const gidx_t  last_col,
const bool  keep_inside,
const lidx_t  row_offset,
const lidx_t out_row_starts,
gidx_t out_cols,
scalar_t out_coeffs 
)
static

◆ GlobalToLocalDiag()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::GlobalToLocalDiag ( gidx_t cols,
lidx_t  nnz,
gidx_t  first_col,
lidx_t cols_loc 
)
static

◆ GlobalToLocalOffd()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::GlobalToLocalOffd ( gidx_t cols,
lidx_t  nnz,
gidx_t cols_unq,
lidx_t  ncols_unq,
lidx_t cols_loc 
)
static

◆ MaskCountNNZ()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::MaskCountNNZ ( const lidx_t in_row_starts,
const mask_t mask,
const bool  keep_first,
const lidx_t  num_rows,
lidx_t out_row_starts 
)
static

◆ MaskFillDiag()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::MaskFillDiag ( const lidx_t in_row_starts,
const lidx_t in_cols_loc,
const scalar_t in_coeffs,
const mask_t mask,
const bool  keep_first,
const lidx_t  num_rows,
const lidx_t out_row_starts,
lidx_t out_cols_loc,
scalar_t out_coeffs 
)
static

◆ RemoveRangeCountDel()

template<typename Config >
static lidx_t AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::RemoveRangeCountDel ( const lidx_t row_starts,
const scalar_t coeffs,
const lidx_t  num_rows,
const scalar_t  bnd_lo,
const scalar_t  bnd_up,
lidx_t del_per_row 
)
static

◆ RemoveRangeFillDiag()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::RemoveRangeFillDiag ( const lidx_t old_row_starts,
const lidx_t old_cols_loc,
const scalar_t old_coeffs,
const lidx_t  num_rows,
const scalar_t  bnd_lo,
const scalar_t  bnd_up,
const lidx_t new_row_starts,
lidx_t new_cols_loc,
scalar_t new_coeffs 
)
static

◆ RemoveRangeFillOffd()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::RemoveRangeFillOffd ( const lidx_t old_row_starts,
const lidx_t old_cols_loc,
const gidx_t old_cols_unq,
const scalar_t old_coeffs,
const lidx_t  num_rows,
const scalar_t  bnd_lo,
const scalar_t  bnd_up,
const lidx_t new_row_starts,
gidx_t new_cols,
scalar_t new_coeffs 
)
static

◆ RemoveRangeUpdateRowStart()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::RemoveRangeUpdateRowStart ( const lidx_t in_row_starts,
const lidx_t del_per_row,
const lidx_t  num_rows,
lidx_t out_row_starts 
)
static

◆ RowSubsetCountNNZ()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::RowSubsetCountNNZ ( const gidx_t rows,
const lidx_t  num_rows,
const gidx_t  first_row,
const lidx_t diag_row_starts,
const lidx_t offd_row_starts,
lidx_t counts 
)
static

◆ RowSubsetFill()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::RowSubsetFill ( const gidx_t rows,
const lidx_t  num_rows,
const gidx_t  first_row,
const gidx_t  first_col,
const lidx_t diag_row_starts,
const lidx_t offd_row_starts,
const lidx_t diag_cols_loc,
const lidx_t offd_cols_loc,
const scalar_t diag_coeffs,
const scalar_t offd_coeffs,
const gidx_t offd_colmap,
const lidx_t out_row_starts,
gidx_t out_cols,
scalar_t out_coeffs 
)
static

◆ SortColumnsDiag()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::SortColumnsDiag ( lidx_t row_starts,
gidx_t cols,
scalar_t coeffs,
lidx_t  num_rows,
gidx_t  first_col 
)
static

◆ SortColumnsOffd()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::SortColumnsOffd ( lidx_t row_starts,
gidx_t cols,
scalar_t coeffs,
lidx_t  num_rows 
)
static

◆ TransposeDiag()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::TransposeDiag ( const lidx_t in_row_starts,
const lidx_t in_cols_loc,
const scalar_t in_coeffs,
const lidx_t  in_num_rows,
const lidx_t  out_num_rows,
const gidx_t  out_first_col,
const lidx_t  tot_nnz,
lidx_t out_row_starts,
lidx_t out_cols_loc,
gidx_t out_cols,
scalar_t out_coeffs,
lidx_t counters,
lidx_t reduce_space 
)
static

◆ TransposeOffd()

template<typename Config >
static void AMP::LinearAlgebra::CSRMatrixDataHelpers< Config >::TransposeOffd ( const lidx_t in_row_starts,
const gidx_t in_cols,
const scalar_t in_coeffs,
const lidx_t  in_num_rows,
const gidx_t  in_first_col,
const lidx_t  out_num_rows,
const gidx_t  out_first_col,
const lidx_t  tot_nnz,
lidx_t out_row_starts,
lidx_t out_cols_loc,
gidx_t out_cols,
scalar_t out_coeffs,
lidx_t counters,
lidx_t reduce_space 
)
static

The documentation for this struct was generated from the following file:



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:42.
Comments on this page