All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
spgemm_vector.hpp File Reference
`#include "viennacl/forwards.h"`
`#include "viennacl/linalg/host_based/common.hpp"`

Go to the source code of this file.

## Classes

struct | viennacl::linalg::host_based::spgemm_output_write_enabled
struct | viennacl::linalg::host_based::spgemm_output_write_disabled

## Namespaces

| viennacl
| Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
| viennacl::linalg
| Provides all linear algebra operations which are not covered by operator overloads.
| viennacl::linalg::host_based
| Holds all compute kernels with conventional host-based execution (buffers in CPU RAM).

## Functions

template<unsigned int IndexNum>
unsigned int | viennacl::linalg::host_based::row_C_scan_symbolic_vector_N (unsigned int const *row_indices_B, unsigned int const *B_row_buffer, unsigned int const *B_col_buffer, unsigned int B_size2, unsigned int const *row_C_vector_input, unsigned int const *row_C_vector_input_end, unsigned int *row_C_vector_output)
| Merges up to IndexNum rows from B into the result buffer. More...
template<typename OutputWriterT >
unsigned int | viennacl::linalg::host_based::row_C_scan_symbolic_vector_1 (unsigned int const *input1_begin, unsigned int const *input1_end, unsigned int const *input2_begin, unsigned int const *input2_end, unsigned int termination_index, unsigned int *output_begin)
unsigned int | viennacl::linalg::host_based::row_C_scan_symbolic_vector (unsigned int row_start_A, unsigned int row_end_A, unsigned int const *A_col_buffer, unsigned int const *B_row_buffer, unsigned int const *B_col_buffer, unsigned int B_size2, unsigned int *row_C_vector_1, unsigned int *row_C_vector_2, unsigned int *row_C_vector_3)
template<unsigned int IndexNum, typename NumericT >

unsigned int

viennacl::linalg::host_based::row_C_scan_numeric_vector_N (unsigned int const *row_indices_B, NumericT const *val_A, unsigned int const *B_row_buffer, unsigned int const *B_col_buffer, NumericT const *B_elements, unsigned int B_size2, unsigned int const *row_C_vector_input, unsigned int const *row_C_vector_input_end, NumericT *row_C_vector_input_values, unsigned int *row_C_vector_output, NumericT *row_C_vector_output_values)

| Merges up to IndexNum rows from B into the result buffer. More...
template<typename NumericT >

unsigned int

viennacl::linalg::host_based::row_C_scan_numeric_vector_1 (unsigned int const *input1_index_begin, unsigned int const *input1_index_end, NumericT const *input1_values_begin, NumericT factor1, unsigned int const *input2_index_begin, unsigned int const *input2_index_end, NumericT const *input2_values_begin, NumericT factor2, unsigned int termination_index, unsigned int *output_index_begin, NumericT *output_values_begin)

template<typename NumericT >

void

viennacl::linalg::host_based::row_C_scan_numeric_vector (unsigned int row_start_A, unsigned int row_end_A, unsigned int const *A_col_buffer, NumericT const *A_elements, unsigned int const *B_row_buffer, unsigned int const *B_col_buffer, NumericT const *B_elements, unsigned int B_size2, unsigned int row_start_C, unsigned int row_end_C, unsigned int *C_col_buffer, NumericT *C_elements, unsigned int *row_C_vector_1, NumericT *row_C_vector_1_values, unsigned int *row_C_vector_2, NumericT *row_C_vector_2_values, unsigned int *row_C_vector_3, NumericT *row_C_vector_3_values)