Graphite  0.5.0
GPU-accelerated graph optimization framework
Loading...
Searching...
No Matches
csc_utils.hpp File Reference
#include <graphite/block.hpp>
#include <thrust/device_vector.h>
#include <thrust/execution_policy.h>
#include <thrust/iterator/counting_iterator.h>
#include <thrust/scan.h>
#include <thrust/sort.h>
#include <unordered_map>
#include <vector>
Include dependency graph for csc_utils.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  graphite
 The top-level namespace for Graphite.
 

Functions

void graphite::csc::build_block_csc_indices (size_t num_block_cols, const std::unordered_map< BlockCoordinates, size_t > &block_indices, const std::vector< BlockCoordinates > &block_coords, thrust::device_vector< size_t > &d_col_pointers, thrust::device_vector< size_t > &d_row_indices, thrust::device_vector< size_t > &d_offsets)
 
void graphite::csc::build_scalar_to_block_map (const thrust::device_vector< size_t > &d_scalar_offsets, size_t num_block_cols, thrust::device_vector< size_t > &scalar_to_block_map)
 
template<typename S , typename I , typename Matrix >
void graphite::csc::build_scalar_csc_structure (size_t scalar_dim, const thrust::device_vector< size_t > &d_col_pointers, const thrust::device_vector< size_t > &d_row_indices, const thrust::device_vector< size_t > &d_scalar_offsets, const thrust::device_vector< size_t > &scalar_to_block_map, Matrix &matrix)
 
template<typename S , typename I , typename Matrix >
void graphite::csc::update_scalar_csc_values (size_t scalar_dim, const thrust::device_vector< S > &block_values, const thrust::device_vector< size_t > &d_col_pointers, const thrust::device_vector< size_t > &d_row_indices, const thrust::device_vector< size_t > &d_offsets, const thrust::device_vector< size_t > &d_scalar_offsets, const thrust::device_vector< size_t > &scalar_to_block_map, Matrix &matrix)