graph
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
spmm_tc.hpp
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #include <iostream>
7 
9 
10 
14 {
15  private:
16  uint64_t *edgeCnt_;
19  pangolin::GPUCSR<Uint> aL_;
20  pangolin::GPUCSR<Uint> aU_;
21  uint64_t *nextEdge_; // next edge that GPU counter should write an edge count to
22 
23  public:
24  SpmmTC(Config &c);
25  virtual ~SpmmTC();
26  virtual void read_data(const std::string &path) override;
27  virtual void setup_data() override;
28  virtual size_t count() override;
29  virtual uint64_t num_edges() override { return aL_.nnz(); }
30  virtual size_t num_nodes() override { return aL_.num_nodes(); }
31 };
32 
Uint * edgeDst_
dst of edge i
Definition: spmm_tc.hpp:18
virtual size_t num_nodes() override
Definition: spmm_tc.hpp:30
uint64_t * nextEdge_
Definition: spmm_tc.hpp:21
unsigned int Uint
Definition: types.hpp:10
pangolin::GPUCSR< Uint > aL_
lower-triangular adjacency matrix
Definition: spmm_tc.hpp:19
uint64_t * edgeCnt_
per-edge triangle counts
Definition: spmm_tc.hpp:16
PANGOLIN_BEGIN_NAMESPACE()
pangolin::GPUCSR< Uint > aU_
upper-triangular adjacency matrix
Definition: spmm_tc.hpp:20
Definition: cuda_triangle_counter.hpp:15
Uint * edgeSrc_
src of edge i
Definition: spmm_tc.hpp:17
Definition: config.hpp:10
virtual uint64_t num_edges() override
number of edges traversed during triangle counting
Definition: spmm_tc.hpp:29
#define PANGOLIN_END_NAMESPACE()
Definition: spmm_tc.hpp:13