Skip to content

SerialDistribution

#include <sbio/execution/serial.hh>
class SerialDistribution

Defined in src/lib/sbio/execution/serial.hh:51

SerialDistribution is a simple distribution using a single process and thread.

This distribution manager provides purely synchronous behaviour. Every buffer in the manager is a shared buffer (there’s only 1 parallel unit).

The SerialExecution alias below composes this manager with host-memory.

Return Name Description
constexpr std::bitset< static_cast< std::size_t >(ParallelizationMethods::NUM_METHODS) > ParallelSupport static constexpr

static constexpr

constexpr std::bitset< static_cast< std::size_t >(ParallelizationMethods::NUM_METHODS) > ParallelSupport { 0x0 }

Type: constexpr std::bitset< static_cast< std::size_t >(ParallelizationMethods::NUM_METHODS) >

Defined in src/lib/sbio/execution/serial.hh:58

Return Name Description
void configure_impl static inline
constexpr std::size_t unit_ordinal static inline constexpr The ordinal (associated number) for the calling parallel unit.
void init_logger static inline Setup a spdlog logger.
FTraits::StepIdxType next_impl static inline The SerialExecution policy generates step indices in monotonically.
StepBatch< typename FTraits::StepIdxType > next_batch_impl static inline The SerialExecution policy hands out contiguous batches of steps.

static inline

static inline void configure_impl(const Config &)

Defined in src/lib/sbio/execution/serial.hh:60


static inline constexpr

constexpr static inline constexpr std::size_t unit_ordinal()

Defined in src/lib/sbio/execution/serial.hh:77

The ordinal (associated number) for the calling parallel unit.


static inline

static inline void init_logger()

Defined in src/lib/sbio/execution/serial.hh:82

Setup a spdlog logger.


static inline

template<class FTraits, class IndexTrigger> static inline FTraits::StepIdxType next_impl(IterationState & state, typename FTraits::StepIdxType & max_capacity, IndexTrigger && trigger)

Defined in src/lib/sbio/execution/serial.hh:113

The SerialExecution policy generates step indices in monotonically.

The policy will continuously increment the step counter, returning the next index until exhaustion. It will then use the callback trigger to reindex.

The next step_idx.

Parameter Type Description
max_capacity typename FTraits::StepIdxType & The current max capacity (currently available indices).
trigger IndexTrigger && The reindex callback routine.

static inline

template<class FTraits, class IndexTrigger> static inline StepBatch< typename FTraits::StepIdxType > next_batch_impl(IterationState & state, std::size_t batch_size, typename FTraits::StepIdxType & max_capacity, IndexTrigger && trigger)

Defined in src/lib/sbio/execution/serial.hh:154

The SerialExecution policy hands out contiguous batches of steps.

Like next_impl, the reindexing trigger is called once capacity is reached.

The next batch of steps.

Parameter Type Description
batch_size std::size_t The maximum number of steps in the batch.
max_capacity typename FTraits::StepIdxType & The current max capacity (currently available indices).
trigger IndexTrigger && The reindex callback routine.
Return Name Description
std::shared_ptr< spdlog::logger > m_logger static

static

std::shared_ptr< spdlog::logger > m_logger

Defined in src/lib/sbio/execution/serial.hh:173