ViennaCL - The Vienna Computing Library
1.5.0
|
Holds implementation details for functionality in the main viennacl-namespace. Not intended for direct use by library users. More...
Namespaces | |
namespace | fft |
Helper namespace for fast Fourier transforms. Not to be used directly by library users. | |
Functions | |
template<typename CPU_MATRIX , typename SCALARTYPE > | |
void | copy_impl (const CPU_MATRIX &cpu_matrix, compressed_compressed_matrix< SCALARTYPE > &gpu_matrix, vcl_size_t nonzero_rows, vcl_size_t nonzeros) |
template<typename CPU_MATRIX , typename SCALARTYPE , unsigned int ALIGNMENT> | |
void | copy_impl (const CPU_MATRIX &cpu_matrix, compressed_matrix< SCALARTYPE, ALIGNMENT > &gpu_matrix, vcl_size_t nonzeros) |
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. | |
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. | |
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. | |
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.
int viennacl::detail::calc_layering_width | ( | std::vector< std::vector< int > > const & | l | ) | [inline] |
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 | ||
) |
bool viennacl::detail::comb_inc | ( | std::vector< IndexT > & | comb, |
vcl_size_t | n | ||
) |
void viennacl::detail::copy_impl | ( | const CPU_MATRIX & | cpu_matrix, |
compressed_matrix< SCALARTYPE, ALIGNMENT > & | gpu_matrix, | ||
vcl_size_t | nonzeros | ||
) |
void viennacl::detail::copy_impl | ( | const CPU_MATRIX & | cpu_matrix, |
compressed_compressed_matrix< SCALARTYPE > & | gpu_matrix, | ||
vcl_size_t | nonzero_rows, | ||
vcl_size_t | nonzeros | ||
) |
bool viennacl::detail::cuthill_mckee_comp_func | ( | std::vector< int > const & | a, |
std::vector< int > const & | b | ||
) | [inline] |
bool viennacl::detail::cuthill_mckee_comp_func_pair | ( | std::pair< IndexT, IndexT > const & | a, |
std::pair< IndexT, IndexT > const & | b | ||
) |
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 |
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.
void viennacl::detail::generate_layering | ( | MatrixType const & | matrix, |
std::vector< std::vector< int > > & | l, | ||
int | s | ||
) |
std::vector< std::vector<int> > viennacl::detail::gps_rg_components | ( | MatrixType const & | matrix, |
int | n, | ||
std::vector< int > const & | rg | ||
) |
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.