COMBINATORIAL_BLAS 1.6
 
Loading...
Searching...
No Matches
graph.h File Reference
#include <stdint.h>
#include <limits.h>
Include dependency graph for graph.h:

Go to the source code of this file.

Classes

struct  dist_graph_comm_data_t
 
struct  dist_graph_t
 
struct  graph_gen_data_t
 
struct  graph_gen_aux_data_t
 

Macros

#define _mm_malloc(a, b)   malloc((a))
 
#define _mm_free(a)   free((a))
 
#define MAX_NUMPROCS   1024
 
#define ROOT_VERT_RNG_SEED   2323232
 
#define IDEAL_ALIGNMENT   16
 
#define TIME_BFS_SUBROUTINES   1
 
#define LOCAL_QUEUE_SIZE   512
 
#define LOCAL_SENDBUF_SIZE   64
 
#define PROC_ASSERT_CHECK   1
 
#define PRED_CACHE_BYPASS   1
 
#define STORE_PRED   0
 
#define SAMEPROC_NOREAD   1
 
#define REPLICATE_D   1
 

Typedefs

typedef uint32_t vid_t
 
typedef uint32_t eid_t
 

Functions

int gen_graph_edges (graph_gen_data_t *ggi, graph_gen_aux_data_t *ggaux)
 
int run_bfs (dist_graph_t *g, uint64_t root, uint64_t *pred, uint64_t *pred_array_size_ptr, uint64_t *nvisited)
 
int run_bfs_threaded (dist_graph_t *g, uint64_t root, uint64_t *pred, uint64_t *pred_array_size_ptr, uint64_t *nvisited)
 
int run_bfs_2Dgraph (dist_graph_t *g, uint64_t root, uint64_t *pred, uint64_t *pred_array_size_ptr, uint64_t *nvisited)
 
int run_bfs_2Dgraph_threaded (dist_graph_t *g, uint64_t root, uint64_t *pred, uint64_t *pred_array_size_ptr, uint64_t *nvisited)
 
int create_dist_graph (const uint64_t num_edges, uint32_t *edges, dist_graph_t *g)
 
int create_2Ddist_graph (const uint64_t num_edges, uint32_t *edges, dist_graph_t *g)
 
int free_graph (dist_graph_t *g)
 
int validate_bfs_result (dist_graph_t *g, uint64_t root, uint64_t *pred, uint64_t pred_array_size)
 
int validate_bfs_result_threaded (dist_graph_t *g, uint64_t root, uint64_t *pred, uint64_t pred_array_size)
 
int find_bfs_start_vertices (int num_bfs_roots, dist_graph_t *g, uint64_t *bfs_roots)
 
double get_seconds ()
 
int local_parallel_quicksort (void *data, int64_t n, size_t elem_size, int(*cmpfn)(const void *x, const void *y))
 
void get_statistics (const double *x, int n, double *r)
 

Variables

int rank
 
int nprocs
 

Macro Definition Documentation

◆ _mm_free

#define _mm_free (   a)    free((a))

Definition at line 11 of file graph.h.

◆ _mm_malloc

#define _mm_malloc (   a,
 
)    malloc((a))

Definition at line 10 of file graph.h.

◆ IDEAL_ALIGNMENT

#define IDEAL_ALIGNMENT   16

Definition at line 24 of file graph.h.

◆ LOCAL_QUEUE_SIZE

#define LOCAL_QUEUE_SIZE   512

Definition at line 28 of file graph.h.

◆ LOCAL_SENDBUF_SIZE

#define LOCAL_SENDBUF_SIZE   64

Definition at line 29 of file graph.h.

◆ MAX_NUMPROCS

#define MAX_NUMPROCS   1024

Definition at line 20 of file graph.h.

◆ PRED_CACHE_BYPASS

#define PRED_CACHE_BYPASS   1

Definition at line 33 of file graph.h.

◆ PROC_ASSERT_CHECK

#define PROC_ASSERT_CHECK   1

Definition at line 31 of file graph.h.

◆ REPLICATE_D

#define REPLICATE_D   1

Definition at line 38 of file graph.h.

◆ ROOT_VERT_RNG_SEED

#define ROOT_VERT_RNG_SEED   2323232

Definition at line 22 of file graph.h.

◆ SAMEPROC_NOREAD

#define SAMEPROC_NOREAD   1

Definition at line 36 of file graph.h.

◆ STORE_PRED

#define STORE_PRED   0

Definition at line 34 of file graph.h.

◆ TIME_BFS_SUBROUTINES

#define TIME_BFS_SUBROUTINES   1

Definition at line 26 of file graph.h.

Typedef Documentation

◆ eid_t

typedef uint32_t eid_t

Definition at line 18 of file graph.h.

◆ vid_t

typedef uint32_t vid_t

Definition at line 17 of file graph.h.

Function Documentation

◆ create_2Ddist_graph()

int create_2Ddist_graph ( const uint64_t  num_edges,
uint32_t edges,
dist_graph_t g 
)

◆ create_dist_graph()

int create_dist_graph ( const uint64_t  num_edges,
uint32_t edges,
dist_graph_t g 
)

◆ find_bfs_start_vertices()

int find_bfs_start_vertices ( int  num_bfs_roots,
dist_graph_t g,
uint64_t bfs_roots 
)

◆ free_graph()

int free_graph ( dist_graph_t g)

◆ gen_graph_edges()

int gen_graph_edges ( graph_gen_data_t ggi,
graph_gen_aux_data_t ggaux 
)

◆ get_seconds()

double get_seconds ( )

◆ get_statistics()

void get_statistics ( const double *  x,
int  n,
double *  r 
)

◆ local_parallel_quicksort()

int local_parallel_quicksort ( void *  data,
int64_t  n,
size_t  elem_size,
int(*)(const void *x, const void *y)  cmpfn 
)

◆ run_bfs()

int run_bfs ( dist_graph_t g,
uint64_t  root,
uint64_t pred,
uint64_t pred_array_size_ptr,
uint64_t nvisited 
)

◆ run_bfs_2Dgraph()

int run_bfs_2Dgraph ( dist_graph_t g,
uint64_t  root,
uint64_t pred,
uint64_t pred_array_size_ptr,
uint64_t nvisited 
)

◆ run_bfs_2Dgraph_threaded()

int run_bfs_2Dgraph_threaded ( dist_graph_t g,
uint64_t  root,
uint64_t pred,
uint64_t pred_array_size_ptr,
uint64_t nvisited 
)

◆ run_bfs_threaded()

int run_bfs_threaded ( dist_graph_t g,
uint64_t  root,
uint64_t pred,
uint64_t pred_array_size_ptr,
uint64_t nvisited 
)

◆ validate_bfs_result()

int validate_bfs_result ( dist_graph_t g,
uint64_t  root,
uint64_t pred,
uint64_t  pred_array_size 
)

◆ validate_bfs_result_threaded()

int validate_bfs_result_threaded ( dist_graph_t g,
uint64_t  root,
uint64_t pred,
uint64_t  pred_array_size 
)

Variable Documentation

◆ nprocs

int nprocs
extern

Definition at line 55 of file comms.cpp.

◆ rank

int rank
extern