COMBINATORIAL_BLAS 1.6
 
Loading...
Searching...
No Matches
comms.h File Reference
#include <mpi.h>
#include <omp.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <assert.h>
#include "dist_graph.h"
#include "util.h"
Include dependency graph for comms.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mpi_data_t
 
struct  queue_data_t
 
struct  thread_queue_t
 
struct  thread_comm_t
 

Macros

#define MAX_SEND_SIZE   2147483648
 
#define THREAD_QUEUE_SIZE   1024
 

Functions

void init_queue_data (dist_graph_t *g, queue_data_t *q)
 
void clear_queue_data (queue_data_t *q)
 
void init_comm_data (mpi_data_t *comm)
 
void clear_comm_data (mpi_data_t *comm)
 
void init_thread_queue (thread_queue_t *tq)
 
void clear_thread_queue (thread_queue_t *tq)
 
void init_thread_comm (thread_comm_t *tc)
 
void clear_thread_comm (thread_comm_t *tc)
 
void init_thread_comm_flt (thread_comm_t *tc)
 
void clear_thread_commflt (thread_comm_t *tc)
 
void init_sendbuf_vid_data (mpi_data_t *comm)
 
void init_recvbuf_vid_data (mpi_data_t *comm)
 
void init_sendbuf_vid_data_flt (mpi_data_t *comm)
 
void init_recvbuf_vid_data_flt (mpi_data_t *comm)
 
void clear_recvbuf_vid_data (mpi_data_t *comm)
 
void clear_allbuf_vid_data (mpi_data_t *comm)
 
void exchange_verts (dist_graph_t *g, mpi_data_t *comm, queue_data_t *q)
 
void exchange_verts (mpi_data_t *comm)
 
void exchange_data (mpi_data_t *comm)
 
void exchange_data_flt (mpi_data_t *comm)
 
void exchange_vert_data (dist_graph_t *g, mpi_data_t *comm, queue_data_t *q)
 
void exchange_vert_data (dist_graph_t *g, mpi_data_t *comm)
 
void update_sendcounts_thread (dist_graph_t *g, thread_comm_t *tc, uint64_t vert_index)
 
void update_sendcounts_thread_out (dist_graph_t *g, thread_comm_t *tc, uint64_t vert_index)
 
void update_vid_data_queues (dist_graph_t *g, thread_comm_t *tc, mpi_data_t *comm, uint64_t vert_index, uint64_t data)
 
void update_vid_data_queues_out (dist_graph_t *g, thread_comm_t *tc, mpi_data_t *comm, uint64_t vert_index, uint64_t data)
 
void update_vid_data_queues_out (dist_graph_t *g, thread_comm_t *tc, mpi_data_t *comm, uint64_t vert_index, double data)
 
void add_vid_to_queue (thread_queue_t *tq, queue_data_t *q, uint64_t vertex_id)
 
void empty_queue (thread_queue_t *tq, queue_data_t *q)
 
void add_vid_to_send (thread_queue_t *tq, queue_data_t *q, uint64_t vertex_id)
 
void empty_send (thread_queue_t *tq, queue_data_t *q)
 
void add_vid_data_to_send (thread_comm_t *tc, mpi_data_t *comm, uint64_t vertex_id, uint64_t data_val, int32_t send_rank)
 
void add_vid_data_to_send_flt (thread_comm_t *tc, mpi_data_t *comm, uint64_t vertex_id, double data_val, int32_t send_rank)
 
void empty_vid_data (thread_comm_t *tc, mpi_data_t *comm)
 
void empty_vid_data_flt (thread_comm_t *tc, mpi_data_t *comm)
 

Variables

int procid
 
int nprocs
 
bool verbose
 
bool debug
 
bool verify
 
bool output
 

Macro Definition Documentation

◆ MAX_SEND_SIZE

#define MAX_SEND_SIZE   2147483648

Definition at line 62 of file comms.h.

◆ THREAD_QUEUE_SIZE

#define THREAD_QUEUE_SIZE   1024

Definition at line 63 of file comms.h.

Function Documentation

◆ add_vid_data_to_send()

void add_vid_data_to_send ( thread_comm_t tc,
mpi_data_t comm,
uint64_t  vertex_id,
uint64_t  data_val,
int32_t  send_rank 
)
inline

Definition at line 766 of file comms.h.

◆ add_vid_data_to_send_flt()

void add_vid_data_to_send_flt ( thread_comm_t tc,
mpi_data_t comm,
uint64_t  vertex_id,
double  data_val,
int32_t  send_rank 
)
inline

Definition at line 779 of file comms.h.

◆ add_vid_to_queue()

void add_vid_to_queue ( thread_queue_t tq,
queue_data_t q,
uint64_t  vertex_id 
)
inline

Definition at line 721 of file comms.h.

◆ add_vid_to_send()

void add_vid_to_send ( thread_queue_t tq,
queue_data_t q,
uint64_t  vertex_id 
)
inline

Definition at line 743 of file comms.h.

◆ clear_allbuf_vid_data()

void clear_allbuf_vid_data ( mpi_data_t comm)

Definition at line 370 of file comms.cpp.

◆ clear_comm_data()

void clear_comm_data ( mpi_data_t comm)

Definition at line 111 of file comms.cpp.

◆ clear_queue_data()

void clear_queue_data ( queue_data_t q)

Definition at line 75 of file comms.cpp.

◆ clear_recvbuf_vid_data()

void clear_recvbuf_vid_data ( mpi_data_t comm)

Definition at line 359 of file comms.cpp.

◆ clear_thread_comm()

void clear_thread_comm ( thread_comm_t tc)

Definition at line 199 of file comms.cpp.

◆ clear_thread_commflt()

void clear_thread_commflt ( thread_comm_t tc)

◆ clear_thread_queue()

void clear_thread_queue ( thread_queue_t tq)

Definition at line 157 of file comms.cpp.

◆ empty_queue()

void empty_queue ( thread_queue_t tq,
queue_data_t q 
)
inline

Definition at line 730 of file comms.h.

◆ empty_send()

void empty_send ( thread_queue_t tq,
queue_data_t q 
)
inline

Definition at line 752 of file comms.h.

◆ empty_vid_data()

void empty_vid_data ( thread_comm_t tc,
mpi_data_t comm 
)
inline

Definition at line 792 of file comms.h.

◆ empty_vid_data_flt()

void empty_vid_data_flt ( thread_comm_t tc,
mpi_data_t comm 
)
inline

Definition at line 820 of file comms.h.

◆ exchange_data()

void exchange_data ( mpi_data_t comm)
inline

Definition at line 428 of file comms.h.

◆ exchange_data_flt()

void exchange_data_flt ( mpi_data_t comm)
inline

Definition at line 495 of file comms.h.

◆ exchange_vert_data() [1/2]

void exchange_vert_data ( dist_graph_t g,
mpi_data_t comm 
)
inline

◆ exchange_vert_data() [2/2]

void exchange_vert_data ( dist_graph_t g,
mpi_data_t comm,
queue_data_t q 
)
inline

Definition at line 258 of file comms.h.

◆ exchange_verts() [1/2]

void exchange_verts ( dist_graph_t g,
mpi_data_t comm,
queue_data_t q 
)
inline

Definition at line 184 of file comms.h.

◆ exchange_verts() [2/2]

void exchange_verts ( mpi_data_t comm)
inline

Definition at line 360 of file comms.h.

◆ init_comm_data()

void init_comm_data ( mpi_data_t comm)

Definition at line 84 of file comms.cpp.

◆ init_queue_data()

void init_queue_data ( dist_graph_t g,
queue_data_t q 
)

Definition at line 58 of file comms.cpp.

◆ init_recvbuf_vid_data()

void init_recvbuf_vid_data ( mpi_data_t comm)

Definition at line 278 of file comms.cpp.

◆ init_recvbuf_vid_data_flt()

void init_recvbuf_vid_data_flt ( mpi_data_t comm)

Definition at line 332 of file comms.cpp.

◆ init_sendbuf_vid_data()

void init_sendbuf_vid_data ( mpi_data_t comm)

Definition at line 251 of file comms.cpp.

◆ init_sendbuf_vid_data_flt()

void init_sendbuf_vid_data_flt ( mpi_data_t comm)

Definition at line 305 of file comms.cpp.

◆ init_thread_comm()

void init_thread_comm ( thread_comm_t tc)

Definition at line 169 of file comms.cpp.

◆ init_thread_comm_flt()

void init_thread_comm_flt ( thread_comm_t tc)

Definition at line 209 of file comms.cpp.

◆ init_thread_queue()

void init_thread_queue ( thread_queue_t tq)

Definition at line 136 of file comms.cpp.

◆ update_sendcounts_thread()

void update_sendcounts_thread ( dist_graph_t g,
thread_comm_t tc,
uint64_t  vert_index 
)
inline

Definition at line 563 of file comms.h.

◆ update_sendcounts_thread_out()

void update_sendcounts_thread_out ( dist_graph_t g,
thread_comm_t tc,
uint64_t  vert_index 
)
inline

Definition at line 602 of file comms.h.

◆ update_vid_data_queues()

void update_vid_data_queues ( dist_graph_t g,
thread_comm_t tc,
mpi_data_t comm,
uint64_t  vert_index,
uint64_t  data 
)
inline

Definition at line 628 of file comms.h.

◆ update_vid_data_queues_out() [1/2]

void update_vid_data_queues_out ( dist_graph_t g,
thread_comm_t tc,
mpi_data_t comm,
uint64_t  vert_index,
double  data 
)
inline

Definition at line 670 of file comms.h.

◆ update_vid_data_queues_out() [2/2]

void update_vid_data_queues_out ( dist_graph_t g,
thread_comm_t tc,
mpi_data_t comm,
uint64_t  vert_index,
uint64_t  data 
)
inline

Definition at line 695 of file comms.h.

Variable Documentation

◆ debug

bool debug

Definition at line 60 of file comms.h.

◆ nprocs

int nprocs

Definition at line 59 of file comms.h.

◆ output

bool output

Definition at line 60 of file comms.h.

◆ procid

int procid
extern

Definition at line 55 of file main.cpp.

◆ verbose

bool verbose
extern

Definition at line 56 of file main.cpp.

◆ verify

bool verify

Definition at line 60 of file comms.h.