27#ifndef _H_GRB_NONBLOCKING_CONFIG
28#define _H_GRB_NONBLOCKING_CONFIG
182 static constexpr Backend coordinatesBackend() {
192 static constexpr bool fixedVectorCapacities() {
Defines both configuration parameters effective for all backends, as well as defines structured ways ...
Configuration parameters relating to the analytic model employed by the nonblocking backend.
Definition: nonblocking/config.hpp:117
static constexpr const double L1_CACHE_USAGE_PERCENTAGE
The L1 cache size is assumed to be a bit smaller than the actual size to take into account any data t...
Definition: nonblocking/config.hpp:134
static constexpr const size_t MIN_TILE_SIZE
The minimum tile size that may be automatically selected by the analytic model.
Definition: nonblocking/config.hpp:127
static constexpr ALLOC_MODE defaultAllocMode()
A private memory segment shall never be accessed by threads other than the thread who allocates it.
Definition: nonblocking/config.hpp:162
static constexpr ALLOC_MODE sharedAllocMode()
For the nonblocking backend, a shared memory-segment should use interleaved alloc so that any thread ...
Definition: nonblocking/config.hpp:170
Collects a series of implementation choices corresponding to some given backend.
Definition: base/config.hpp:387
Configuration parameters relating to the pipeline data structure.
Definition: nonblocking/config.hpp:53
static constexpr const size_t max_tiles
Pipelines are constructed with default space for this many tiles.
Definition: nonblocking/config.hpp:95
static constexpr const bool warn_if_exceeded
Emit a warning to standard error stream if the default pipeline capacities are exceeded.
Definition: nonblocking/config.hpp:101
static constexpr const size_t max_depth
Pipelines are constructed with default space for this many stages.
Definition: nonblocking/config.hpp:85
static constexpr const size_t max_pipelines
How many independent pipelines any ALP algorithm may concurrently expose.
Definition: nonblocking/config.hpp:64
static constexpr const size_t max_containers
Pipelines are constructed with default space for this many containers.
Definition: nonblocking/config.hpp:76
static constexpr const bool warn_if_not_native
When true, calling a fake nonblocking primitive for a first time will emit a warning to the standard ...
Definition: nonblocking/config.hpp:107
Backend
A collection of all backends.
Definition: backends.hpp:46
@ nonblocking
The threaded nonblocking implementation.
Definition: backends.hpp:73
ALLOC_MODE
The memory allocation modes implemented in the grb::reference and the grb::reference_omp backends.
Definition: reference/config.hpp:54
@ ALIGNED
Allocation via posix_memalign.
Definition: reference/config.hpp:57
@ INTERLEAVED
Allocation via numa_alloc_interleaved.
Definition: reference/config.hpp:60
The ALP/GraphBLAS namespace.
Definition: graphblas.hpp:452
Contains the configuration parameters for the reference and reference_omp backends.