ALP User Documentation
0.8.preview
Algebraic Programming User Documentation
|
▼Ngrb | The ALP/GraphBLAS namespace |
▼Nalgorithms | The namespace for ALP/GraphBLAS algorithms |
▼Npregel | The namespace for ALP/Pregel algorithms |
▼CConnectedComponents | A vertex-centric Connected Components algorithm |
CData | This vertex-centric Connected Components algorithm does not require any algorithm parameters |
▼CPageRank | A Pregel-style PageRank-like algorithm |
CData | The algorithm parameters |
Cmatrices | Factories for creating ALP/GraphBLAS matrices with standard patterns such as identity matrices |
Cmatrices< void, mode, backend, RIT, CIT, NIT > | Factories for creating ALP/GraphBLAS pattern matrices |
▼Nconfig | Compile-time configuration constants as well as implementation details that are derived from such settings |
CANALYTIC_MODEL | Configuration parameters relating to the analytic model employed by the nonblocking backend |
CBENCHMARKING | Benchmarking default configuration parameters |
CCACHE_LINE_SIZE | Contains information about the target architecture cache line size |
CIMPLEMENTATION | Collects a series of implementation choices corresponding to some given backend |
CIMPLEMENTATION< BSP1D > | This class collects configuration parameters that are specific to the grb::BSP1D and grb::hybrid backends |
CIMPLEMENTATION< nonblocking > | Implementation-dependent configuration parameters for the nonblocking backend |
CIMPLEMENTATION< reference > | This class collects configuration parameters that are specific to the grb::reference backend |
CIMPLEMENTATION< reference_omp > | This class collects configuration parameters that are specific to the grb::reference_omp backend |
CMEMORY | Memory configuration parameters |
CPIPELINE | Configuration parameters relating to the pipeline data structure |
CPREFETCHING | Default prefetching settings for reference and reference_omp backends |
CSIMD_SIZE | The SIMD size, in bytes |
▼Nidentities | Standard identities common to many operators |
Cinfinity | Standard identity for the minimum operator |
Clogical_false | Standard identitity for the logical or operator |
Clogical_true | Standard identity for the logical AND operator |
Cnegative_infinity | Standard identity for the maximum operator |
Cone | Standard identity for numerical multiplication |
Czero | Standard identity for numerical addition |
▼Ninterfaces | The namespace for programming APIs that automatically translate to ALP/GraphBLAS |
CPregel | A Pregel run-time instance |
CPregelState | The state of the vertex-center Pregel program that the user may interface with |
▼Noperators | This namespace holds various standard operators such as grb::operators::add and grb::operators::mul |
Cabs_diff | This operator returns the absolute difference between two numbers |
Cadd | This operator takes the sum of the two input parameters and writes it to the output variable |
Cany_or | This operator is a generalisation of the logical or |
Cargmax | The argmax operator on key-value pairs |
Cargmin | The argmin operator on key-value pairs |
Cconjugate_left_mul | Conjugate-multiply operator that conjugates the left-hand operand before multiplication |
Cconjugate_mul | Conjugate-multiply operator that conjugates the left- or right-hand operand before multiplication |
Cconjugate_right_mul | Conjugate-multiply operator that conjugates the right-hand operand before multiplication |
Cdivide | Numerical division of two numbers |
Cdivide_reverse | Reversed division of two numbers |
Cequal | Operator which returns true if its inputs compare equal, and false otherwise |
Cequal_first | Compares std::pair inputs taking the first entry in every pair as the comparison key, and returns true or false accordingly |
Cgeq | This operation returns whether the left operand compares greater-than or equal to the right operand |
Cgreater_than | This operation returns whether the left operand compares greater-than the right operand |
Cleft_assign | This operator discards all right-hand side input and simply copies the left-hand side input to the output variable |
Cleft_assign_if | This operator assigns the left-hand input if the right-hand input evaluates true |
Cleq | This operation returns whether the left operand compares less-than or equal to the right operand |
Cless_than | This operation returns whether the left operand compares less-than the right operand |
Clogical_and | The logical and |
Clogical_or | The logical or |
Cmax | This operator takes the maximum of the two input parameters and writes the result to the output variable |
Cmin | This operator takes the minimum of the two input parameters and writes the result to the output variable |
Cmul | This operator multiplies the two input parameters and writes the result to the output variable |
Cnot_equal | Operator that returns false whenever its inputs compare equal, and true otherwise |
Crelu | This operation is equivalent to grb::operators::min |
Cright_assign | This operator discards all left-hand side input and simply copies the right-hand side input to the output variable |
Cright_assign_if | This operator assigns the right-hand input if the left-hand input evaluates true |
Csquare_diff | This operation returns the squared difference between two numbers |
Csubtract | Numerical substraction of two numbers |
Czip | The zip operator that operators on keys as a left-hand input and values as a right hand input, producing a key-value std::pair |
▼Nutils | |
▼Ncontainers | Collects various useful STL-compatible containers |
CConstantVector | A (dense) vector of a given size that holds the same constant value at each entry |
CRange | A container that contains a sequence of numbers with a given stride, and optionally a given number of repetitions |
▼Niterators | Collects various useful STL-compatible iterators |
CAdapter | An iterator that simply adapts the values returned by another iterator |
CIteratorFilter | This iterator filters elements from another iterator based on a user- specified filter function |
CRepeater | An iterator that repeats the same value for a set number of times |
CSequence | An iterator over a collection of \( c \) items that for each item \( i \in \{0,1,\dots,c-1\} \) returns \( f(i) \), where \( f \) is of the form \( o + s( \lfloor i/r \rfloor ) \) |
Ccommon_iterator_tag | Selects the common iterator tag from multiple STL-style iterators |
Ccommon_iterator_tag< IterT1, IterT2, IterTs... > | Selects the common iterator tag from multiple STL-style iterators |
Chas_value_method | Checks whether a given ALP matrix iterator type has a .v() method |
Cis_alp_matrix_iterator | Used to gauge whether a given type is an ALP matrix iterator |
CBenchmarker | A class that follows the API of the grb::Launcher, but instead of launching the given ALP program once, it launches it multiple times while benchmarking its execution times |
Ccollectives | A static class defining various collective operations on scalars |
Chas_immutable_nonzeroes | Used to inspect whether a given semiring has immutable nonzeroes under addition |
Cis_associative | Used to inspect whether a given operator or monoid is associative |
Cis_commutative | Used to inspect whether a given operator or monoid is commutative |
Cis_container | Used to inspect whether a given type is an ALP/GraphBLAS container |
Cis_idempotent | Used to inspect whether a given operator or monoid is idempotent |
Cis_monoid | Used to inspect whether a given type is an ALP monoid |
Cis_object | Used to inspect whether a given type is an ALP/GraphBLAS object |
Cis_operator | Used to inspect whether a given type is an ALP operator |
Cis_semiring | Used to inspect whether a given type is an ALP semiring |
CLauncher | A group of user processes that together execute ALP programs |
▼CMatrix | An ALP/GraphBLAS matrix |
Cconst_iterator | A standard iterator for an ALP/GraphBLAS matrix |
CMonoid | A generalised monoid |
CPinnedVector | Provides a mechanism to access ALP containers from outside of an ALP context |
CProperties | Collection of various properties on the given ALP/GraphBLAS backend |
CSemiring | A generalised semiring |
Cspmd | For backends that support multiple user processes this class defines some basic primitives to support SPMD programming |
▼CVector | A GraphBLAS vector |
Cconst_iterator | A standard iterator for the Vector< D > class |
▼Nstd | |
Citerator_traits< grb::utils::iterators::IteratorFilter< FwdSubIter > > | Iterator traits for the IteratorFilter |