GraphChi 0.1

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Macros
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
graphchi::sharder< EdgeDataType > Class Template Reference

List of all members.

## Public Member Functions
| sharder (std::string basefilename)
std::string | preprocessed_name ()
bool | preprocessed_file_exists ()
void | start_preprocessing ()
void | end_preprocessing ()
void | preprocessing_add_edge (vid_t from, vid_t to, EdgeDataType val)
template<typename T >
void | bwrite (int f, char *buf, char *&bufptr, T val)
int | execute_sharding (std::string nshards_string)

## Protected Types
typedef char | dummy_t
typedef sliding_shard< int, dummy_t > | slidingshard_t
typedef memory_shard< int, dummy_t > | memshard_t

## Protected Member Functions
virtual void | determine_number_of_shards (std::string nshards_string)
void | compute_partitionintervals ()
std::string | shovel_filename (int shard)
void | start_phase (int p)
void | end_phase ()
void | swrite (int shard, edge_t et)
void | receive_edge (vid_t from, vid_t to, EdgeDataType value)
virtual void | write_shards ()
void | create_degree_file ()

## Protected Attributes
std::string | basefilename
int | binfile_fd
vid_t | max_vertex_id
char * | prebuf
char * | prebufptr
size_t | bytes_preprocessed
int | nshards
std::vector< std::pair< vid_t, vid_t > > | intervals
int | phase
int * | edgecounts
int | vertexchunk
size_t | nedges
std::string | prefix
int * | shovelfs
edge_t ** | bufs
int * | bufptrs
size_t | bufsize
size_t | edgedatasize
metrics | m
int | lastpart

## Member Function Documentation

template<typename EdgeDataType>
template<typename T >

void graphchi::sharder< EdgeDataType >::bwrite | ( | int | f,
|  | char * | buf,
|  | char *& | bufptr,
|  | T | val
| ) |  |
| inline

Buffered write function

template<typename EdgeDataType>

virtual void graphchi::sharder< EdgeDataType >::determine_number_of_shards | ( | std::string | nshards_string | ) |
| inline protected virtual

Sharding. This code might be hard to read - modify very carefully!

template<typename EdgeDataType>

void graphchi::sharder< EdgeDataType >::end_preprocessing | ( |  | ) |
| inline

Call to finish the preprocessing session.

template<typename EdgeDataType>

int graphchi::sharder< EdgeDataType >::execute_sharding | ( | std::string | nshards_string | ) |
| inline

Executes sharding.

Parameters:

  nshards_string | the number of shards as a number, or "auto" for automatic determination

template<typename EdgeDataType>

bool graphchi::sharder< EdgeDataType >::preprocessed_file_exists | ( |  | ) |
| inline

Checks if the preprocessed binary temporary file of a graph already exists, so it does not need to be recreated.

template<typename EdgeDataType>

void graphchi::sharder< EdgeDataType >::preprocessing_add_edge | ( | vid_t | from,
|  | vid_t | to,
|  | EdgeDataType | val
| ) |  |
| inline

Add edge to be preprocessed

template<typename EdgeDataType>

void graphchi::sharder< EdgeDataType >::start_preprocessing | ( |  | ) |
| inline

Call to start a preprocessing session.

template<typename EdgeDataType>

virtual void graphchi::sharder< EdgeDataType >::write_shards | ( |  | ) |
| inline protected virtual

Write the shard by sorting the shovel file and compressing the adjacency information. To support different shard types, override this function!

The documentation for this class was generated from the following file:

- src/preprocessing/sharder.hpp