Holds implementation details for functionality in the main viennacl-namespace. Not intended for direct use by library users. More...
Namespaces | |
fft | |
Helper namespace for fast Fourier transforms. Not to be used directly by library users. | |
Functions | |
template<typename CPUMatrixT , typename NumericT > | |
void | copy_impl (const CPUMatrixT &cpu_matrix, compressed_compressed_matrix< NumericT > &gpu_matrix, vcl_size_t nonzero_rows, vcl_size_t nonzeros) |
template<typename CPUMatrixT , typename NumericT , unsigned int AlignmentV> | |
void | copy_impl (const CPUMatrixT &cpu_matrix, compressed_matrix< NumericT, AlignmentV > &gpu_matrix, vcl_size_t nonzeros) |
Implementation of the copy of a host-based sparse matrix to the device. More... | |
template<typename IndexT , typename ValueT > | |
IndexT | calc_reordered_bw (std::vector< std::map< IndexT, ValueT > > const &matrix, std::vector< bool > &dof_assigned_to_node, std::vector< IndexT > const &permutation) |
template<typename IndexT > | |
bool | comb_inc (std::vector< IndexT > &comb, vcl_size_t n) |
template<typename MatrixT , typename IndexT > | |
void | generate_layering (MatrixT const &matrix, std::vector< std::vector< IndexT > > &layer_list) |
Function to generate a node layering as a tree structure. More... | |
template<typename MatrixType > | |
void | generate_layering (MatrixType const &matrix, std::vector< std::vector< int > > &l, int s) |
template<typename MatrixT , typename IndexT > | |
void | nodes_of_strongly_connected_component (MatrixT const &matrix, std::vector< IndexT > &node_list) |
Fills the provided nodelist with all nodes of the same strongly connected component as the nodes in the node_list. More... | |
bool | cuthill_mckee_comp_func (std::vector< int > const &a, std::vector< int > const &b) |
template<typename IndexT > | |
bool | cuthill_mckee_comp_func_pair (std::pair< IndexT, IndexT > const &a, std::pair< IndexT, IndexT > const &b) |
template<typename IndexT , typename ValueT > | |
vcl_size_t | cuthill_mckee_on_strongly_connected_component (std::vector< std::map< IndexT, ValueT > > const &matrix, std::deque< IndexT > &node_assignment_queue, std::vector< bool > &dof_assigned_to_node, std::vector< IndexT > &permutation, vcl_size_t current_dof) |
Runs the Cuthill-McKee algorithm on a strongly connected component of a graph. More... | |
int | calc_layering_width (std::vector< std::vector< int > > const &l) |
template<typename MatrixType > | |
std::vector< std::vector< int > > | gps_rg_components (MatrixType const &matrix, int n, std::vector< int > const &rg) |
Holds implementation details for functionality in the main viennacl-namespace. Not intended for direct use by library users.
|
inline |
Definition at line 47 of file gibbs_poole_stockmeyer.hpp.
IndexT viennacl::detail::calc_reordered_bw | ( | std::vector< std::map< IndexT, ValueT > > const & | matrix, |
std::vector< bool > & | dof_assigned_to_node, | ||
std::vector< IndexT > const & | permutation | ||
) |
Definition at line 47 of file cuthill_mckee.hpp.
bool viennacl::detail::comb_inc | ( | std::vector< IndexT > & | comb, |
vcl_size_t | n | ||
) |
Definition at line 89 of file cuthill_mckee.hpp.
void viennacl::detail::copy_impl | ( | const CPUMatrixT & | cpu_matrix, |
compressed_compressed_matrix< NumericT > & | gpu_matrix, | ||
vcl_size_t | nonzero_rows, | ||
vcl_size_t | nonzeros | ||
) |
Definition at line 41 of file compressed_compressed_matrix.hpp.
void viennacl::detail::copy_impl | ( | const CPUMatrixT & | cpu_matrix, |
compressed_matrix< NumericT, AlignmentV > & | gpu_matrix, | ||
vcl_size_t | nonzeros | ||
) |
Implementation of the copy of a host-based sparse matrix to the device.
See convenience copy() routines for type requirements of CPUMatrixT
Definition at line 50 of file compressed_matrix.hpp.
|
inline |
Definition at line 263 of file cuthill_mckee.hpp.
bool viennacl::detail::cuthill_mckee_comp_func_pair | ( | std::pair< IndexT, IndexT > const & | a, |
std::pair< IndexT, IndexT > const & | b | ||
) |
Definition at line 270 of file cuthill_mckee.hpp.
vcl_size_t viennacl::detail::cuthill_mckee_on_strongly_connected_component | ( | std::vector< std::map< IndexT, ValueT > > const & | matrix, |
std::deque< IndexT > & | node_assignment_queue, | ||
std::vector< bool > & | dof_assigned_to_node, | ||
std::vector< IndexT > & | permutation, | ||
vcl_size_t | current_dof | ||
) |
Runs the Cuthill-McKee algorithm on a strongly connected component of a graph.
matrix | The matrix describing the full graph |
node_assignment_queue | A queue prepopulated with the root nodes |
dof_assigned_to_node | Boolean flag array indicating whether a dof got assigned to a certain node |
permutation | The permutation array to write the result to |
current_dof | The first dof to be used for assignment |
Definition at line 287 of file cuthill_mckee.hpp.
void viennacl::detail::generate_layering | ( | MatrixT const & | matrix, |
std::vector< std::vector< IndexT > > & | layer_list | ||
) |
Function to generate a node layering as a tree structure.
Definition at line 122 of file cuthill_mckee.hpp.
void viennacl::detail::generate_layering | ( | MatrixType const & | matrix, |
std::vector< std::vector< int > > & | l, | ||
int | s | ||
) |
Definition at line 170 of file cuthill_mckee.hpp.
std::vector< std::vector<int> > viennacl::detail::gps_rg_components | ( | MatrixType const & | matrix, |
int | n, | ||
std::vector< int > const & | rg | ||
) |
Definition at line 63 of file gibbs_poole_stockmeyer.hpp.
void viennacl::detail::nodes_of_strongly_connected_component | ( | MatrixT const & | matrix, |
std::vector< IndexT > & | node_list | ||
) |
Fills the provided nodelist with all nodes of the same strongly connected component as the nodes in the node_list.
If more than one node is provided, all nodes should be from the same strongly connected component.
Definition at line 215 of file cuthill_mckee.hpp.