Skip to content

SerialExecution

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

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

Inherits: Execution< SerialExecution >

SerialExecution is a simple policy, with single-process single-thread host buffers.

This execution policy provides purely synchronous behaviour for use with a single buffer in a host-only pipeline. No synchronization is necessary.

Name Kind Owner
ParallelSupport variable Declared here
configure_impl function Declared here
allocate_storage_impl function Declared here
allocate_impl_helper function Declared here
next_impl function Declared here
BufferTypeFor typedef Declared here
m_event_idx variable Declared here
m_logger variable Declared here
ParallelSupport variable Inherited from Execution
result_memory_space function Inherited from Execution
configure function Inherited from Execution
allocate_storage function Inherited from Execution
allocate_storage function Inherited from Execution
get_block_from_pool function Inherited from Execution
should_index function Inherited from Execution
should_process function Inherited from Execution
on_step function Inherited from Execution
pre_update function Inherited from Execution
post_update function Inherited from Execution
execute_read function Inherited from Execution
acquire_broker_view function Inherited from Execution
allocate_group_storage function Inherited from Execution
get_data function Inherited from Execution
get_data_steps function Inherited from Execution
next function Inherited from Execution
BufferTypeFor typedef Inherited from Execution
Kind Name Description
variable ParallelSupport static constexpr The set of parallelization methods supported by the Execution policy.
function result_memory_space static inline constexpr The memory space that results (via get_data) are returned in.
function configure static inline
function allocate_storage static inline requires FormatTraits<FTraits, IO, Derived> Controls the allocation of storage.
function allocate_storage static inline requires FormatTraits<FTraits, IO, Derived>
function get_block_from_pool static inline
function should_index static inline Decide whether or not this StreamBroker should proceed to the indexing state.
function should_process static inline Decide whether or not this StreamBroker should process this particular step.
function on_step static inline An opportunity to provide explicit synchronization immediately after every step.
function pre_update static inline An opportunity to provide explicit synchronization before any Storage changes.
function post_update static inline An opportunity to provide explicit synchronization after any Storage changes.
function execute_read static inline
function acquire_broker_view static inline
function allocate_group_storage static inline requires FormatTraits<FTraits, IO, Derived>
function get_data static inline Run the data fetching and then querying of the filled buffers.
function get_data_steps static inline Run the data fetching and then querying of the filled buffers, for a BATCh of steps.
function next static inline Request the next step index to read data for.
typedef BufferTypeFor Sub-classes must define the used buffer types.
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 }

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

Return Name Description
void configure_impl static inline
auto allocate_storage_impl static inline requires FormatTraits<FTraits, IO, SerialExecution> Allocate HostBuffer storage for requested roles.
auto allocate_impl_helper static inline
FTraits::StepIdxType next_impl static inline The SerialExecution policy generates step indices in monotonically.

static inline

static inline void configure_impl(constConfig &)

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


static inline requires FormatTraits<FTraits, IO, SerialExecution>

template<IsTypeList Requirements, class IO, class FTraits> static inline auto allocate_storage_impl(constAllocationRequest< FTraits > & request) requires FormatTraits<FTraits, IO, SerialExecution>

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

Allocate HostBuffer storage for requested roles.

The SerialExecution policy does not perform any complex logic when fulfilling allocation requests. It will serve the request (unless the machine is actually exhausted of memory).

Allocated storage per the request.

Parameter Type Description
request [const](api-sbio-Execution.md#should_process)[AllocationRequest](api-sbio-AllocationRequest.md#allocationrequest)< FTraits > & The allocation request.

static inline

template<typename... Descriptors, class FTraits> static inline auto allocate_impl_helper(TypeList< Descriptors... >, constAllocationRequest< FTraits > & request)

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


static inline

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

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

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](api-sbio-Execution.md#should_process) FTraits::StepIdxType & The current max capacity (currently available indices).
trigger [IndexTrigger](api-sbio-Execution.md#should_process) && The reindex callback routine.
Name Description
BufferTypeFor SerialExecution’s buffer selector always points to HostBuffer.

using BufferTypeFor = HostBuffer

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

SerialExecution’s buffer selector always points to HostBuffer.

Regardless of role, a [HostBuffer](api-sbio-HostBuffer.md#hostbuffer) will always be used for this policy.

Return Name Description
std::size_t m_event_idx static The event/step index counter for distribution.
std::shared_ptr< spdlog::logger > m_logger static

static

std::size_t m_event_idx { 0 }

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

The event/step index counter for distribution.


static

std::shared_ptr< spdlog::logger > m_logger

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