3 #include <cuda_runtime.h> 22 return rowOffsets_.data();
32 return dataIsLocal_.data();
37 return rowOffsets_.empty() ? 0 : rowOffsets_.size() - 1;
43 for (
size_t i = 0; i < rowOffsets_.size() - 1; ++i)
45 count += rowOffsets_[i + 1] - rowOffsets_[i];
50 virtual size_t nnz()
const 58 sz += rowOffsets_.capacity() *
sizeof(rowOffsets_[0]);
59 sz += data_.capacity() *
sizeof(data_[0]);
60 sz += dataIsLocal_.capacity() *
sizeof(dataIsLocal_[0]);
64 inline std::pair<index_type, index_type>
row(
const size_t i)
const 66 return std::make_pair(rowOffsets_[i], rowOffsets_[i + 1]);
71 std::vector<UnifiedMemoryCSR> partition_nonzeros(
const size_t numPartitions)
const;
virtual size_t nnz() const
Definition: unified_memory_csr.hpp:50
CUDAManagedVector< char > dataIsLocal_
Definition: unified_memory_csr.hpp:16
std::pair< index_type, index_type > row(const size_t i) const
Definition: unified_memory_csr.hpp:64
virtual size_t bytes() const
Definition: unified_memory_csr.hpp:55
unsigned int Uint
Definition: types.hpp:10
CUDAManagedVector< index_type > data_
Definition: unified_memory_csr.hpp:15
virtual size_t num_nonzero_rows() const
Definition: unified_memory_csr.hpp:40
Definition: unified_memory_csr.hpp:11
PANGOLIN_BEGIN_NAMESPACE()
std::vector< Edge > EdgeList
Definition: edge_list.hpp:9
CUDAManagedVector< index_type > rowOffsets_
Definition: unified_memory_csr.hpp:14
virtual const index_type * row_offsets() const override
Definition: unified_memory_csr.hpp:20
std::vector< T, CUDAManagedAllocator< T > > CUDAManagedVector
Definition: cuda_managed_vector.hpp:8
Uint index_type
Definition: csr.hpp:12
#define PANGOLIN_END_NAMESPACE()
virtual size_t num_rows() const
Definition: unified_memory_csr.hpp:35
virtual const char * is_local_cols() const
Definition: unified_memory_csr.hpp:30
virtual const index_type * cols() const override
Definition: unified_memory_csr.hpp:25