Galois
|
Contains macros for easily defining common Galois sync structures and the field flags class used for on-demand synchronization. More...
#include <cstdint>
#include <galois/AtomicHelpers.h>
#include <galois/runtime/DataCommMode.h>
#include <galois/gIO.h>
Go to the source code of this file.
Classes | |
class | galois::runtime::FieldFlags |
Each field has a FieldFlags object that indicates synchronization status of that field. More... | |
Namespaces | |
galois | |
The Galois namespace containing all Galois structures and functions. | |
galois::runtime | |
Internal Galois functionality - Use at your own risk. | |
Macros | |
#define | GALOIS_SYNC_STRUCTURE_ADD_EDGES(fieldtype) |
#define | GALOIS_SYNC_STRUCTURE_BITSET_EDGES |
Sync structure for dynamic bitsets, edges. More... | |
#define | GALOIS_SYNC_STRUCTURE_REDUCE_ADD(fieldname, fieldtype) |
Creates a Galois reduction sync structure that does a sum reduction. More... | |
#define | GALOIS_SYNC_STRUCTURE_REDUCE_ADD_ARRAY(fieldname, fieldtype) |
Creates a Galois reduction sync structure that does a sum reduction on a field that is represented by an array. More... | |
#define | GALOIS_SYNC_STRUCTURE_REDUCE_SET(fieldname, fieldtype) |
Creates a Galois reduction sync structure that does a set as a reduction. More... | |
#define | GALOIS_SYNC_STRUCTURE_REDUCE_SET_ARRAY(fieldname, fieldtype) |
Creates a Galois reduction sync structure that does a set as a reduction on a field represented by an array. More... | |
#define | GALOIS_SYNC_STRUCTURE_REDUCE_MIN(fieldname, fieldtype) |
Creates a Galois reduction sync structure that does a min reduction. More... | |
#define | GALOIS_SYNC_STRUCTURE_REDUCE_MAX(fieldname, fieldtype) |
Creates a Galois reduction sync structure that does a max reduction. More... | |
#define | GALOIS_SYNC_STRUCTURE_REDUCE_MIN_ARRAY(fieldname, fieldtype) |
Creates a Galois reduction sync structure that does a pairwise min reduction on an array. More... | |
#define | GALOIS_SYNC_STRUCTURE_REDUCE_PAIR_WISE_AVG_ARRAY(fieldname, fieldtype) |
Creates a Galois reduction sync structure that does a pairwise average on an array. More... | |
#define | GALOIS_SYNC_STRUCTURE_REDUCE_PAIR_WISE_ADD_ARRAY(fieldname, fieldtype) |
Creates a Galois reduction sync structure that does a pairwise sum reduction on an array. More... | |
#define | GALOIS_SYNC_STRUCTURE_REDUCE_PAIR_WISE_ADD_ARRAY_SINGLE(fieldname,fieldtype) |
Creates a Galois reduction sync structure that does a pairwise sum reduction on an array on a SINGLE element. More... | |
#define | GALOIS_SYNC_STRUCTURE_BITSET(fieldname) |
Sync structure for dynamic bitsets. More... | |
#define | GALOIS_SYNC_STRUCTURE_VECTOR_BITSET(fieldname) |
Sync structure for a vector of dynamic bitsets. More... | |
Enumerations | |
enum | galois::runtime::BITVECTOR_STATUS { galois::runtime::NONE_INVALID, galois::runtime::SRC_INVALID, galois::runtime::DST_INVALID, galois::runtime::BOTH_INVALID } |
Bitvector status enum specifying validness of certain things in bitvector. More... | |
Functions | |
bool | galois::runtime::src_invalid (BITVECTOR_STATUS bv_flag) |
Return true if the sources are invalid in bitvector flag. More... | |
bool | galois::runtime::dst_invalid (BITVECTOR_STATUS bv_flag) |
Return true if the destinations are invalid in bitvector flag. More... | |
void | galois::runtime::make_src_invalid (BITVECTOR_STATUS *bv_flag) |
Marks sources invalid on passed in bitvector flag. More... | |
void | galois::runtime::make_dst_invalid (BITVECTOR_STATUS *bv_flag) |
Marks destinations invalid on passed in bitvector flag. More... | |
Contains macros for easily defining common Galois sync structures and the field flags class used for on-demand synchronization.
#define GALOIS_SYNC_STRUCTURE_ADD_EDGES | ( | fieldtype | ) |
#define GALOIS_SYNC_STRUCTURE_BITSET | ( | fieldname | ) |
Sync structure for dynamic bitsets.
Bitsets are expected to have the following naming scheme: bitset_<fieldname>
In addition, you will have to declare and appropriately resize the bitset in your main program as well as set the bitset appropriately (i.e. when you do a write to a particular node).
#define GALOIS_SYNC_STRUCTURE_BITSET_EDGES |
Sync structure for dynamic bitsets, edges.
Bitsets are expected to have the following naming scheme: bitset_edges
In addition, you will have to declare and appropriately resize the bitset in your main program as well as set the bitset appropriately (i.e. when you do a write to a particular node).
#define GALOIS_SYNC_STRUCTURE_REDUCE_ADD | ( | fieldname, | |
fieldtype | |||
) |
Creates a Galois reduction sync structure that does a sum reduction.
#define GALOIS_SYNC_STRUCTURE_REDUCE_ADD_ARRAY | ( | fieldname, | |
fieldtype | |||
) |
Creates a Galois reduction sync structure that does a sum reduction on a field that is represented by an array.
#define GALOIS_SYNC_STRUCTURE_REDUCE_MAX | ( | fieldname, | |
fieldtype | |||
) |
Creates a Galois reduction sync structure that does a max reduction.
#define GALOIS_SYNC_STRUCTURE_REDUCE_MIN | ( | fieldname, | |
fieldtype | |||
) |
Creates a Galois reduction sync structure that does a min reduction.
#define GALOIS_SYNC_STRUCTURE_REDUCE_MIN_ARRAY | ( | fieldname, | |
fieldtype | |||
) |
Creates a Galois reduction sync structure that does a pairwise min reduction on an array.
#define GALOIS_SYNC_STRUCTURE_REDUCE_PAIR_WISE_ADD_ARRAY | ( | fieldname, | |
fieldtype | |||
) |
Creates a Galois reduction sync structure that does a pairwise sum reduction on an array.
#define GALOIS_SYNC_STRUCTURE_REDUCE_PAIR_WISE_ADD_ARRAY_SINGLE | ( | fieldname, | |
fieldtype | |||
) |
Creates a Galois reduction sync structure that does a pairwise sum reduction on an array on a SINGLE element.
#define GALOIS_SYNC_STRUCTURE_REDUCE_PAIR_WISE_AVG_ARRAY | ( | fieldname, | |
fieldtype | |||
) |
Creates a Galois reduction sync structure that does a pairwise average on an array.
#define GALOIS_SYNC_STRUCTURE_REDUCE_SET | ( | fieldname, | |
fieldtype | |||
) |
Creates a Galois reduction sync structure that does a set as a reduction.
#define GALOIS_SYNC_STRUCTURE_REDUCE_SET_ARRAY | ( | fieldname, | |
fieldtype | |||
) |
Creates a Galois reduction sync structure that does a set as a reduction on a field represented by an array.
#define GALOIS_SYNC_STRUCTURE_VECTOR_BITSET | ( | fieldname | ) |
Sync structure for a vector of dynamic bitsets.
Function signatures allow indexing into this vector to get the correct bitset
Bitsets are expected to have the following naming scheme: bitset_<fieldname>
In addition, you will have to declare and appropriately resize the bitset in your main program as well as set the bitset appropriately (i.e. when you do a write to a particular node).