ZipFetchPlan
ZipFetchPlan
Section titled “ZipFetchPlan”template<class ExecutionPolicy, class FTraits, class... Groups>class ZipFetchPlanDefined in src/lib/sbio/core/iteration.hh:196
The planned IO for a fixed set of BrokerGroups.
Every distinct fetch (StreamBroker + access pattern + step mapping) across all the groups is recorded once, so a step (or batch) is fetched exactly once per distinct fetch, through the Execution policy’s get_data / get_data_steps hooks.
Template Parameters
Section titled “Template Parameters”-
ExecutionPolicyThe Execution policy. -
FTraitsThe data format. -
GroupsThe BrokerGroup types.
Public Methods
Section titled “Public Methods”| Return | Name | Description |
|---|---|---|
SBIO_HD |
ZipFetchPlan inline explicit |
|
SBIO_HD hd_std::size_t |
num_fetches const inline |
The number of distinct fetches performed per step (or batch). |
SBIO_HDIOStatus |
fetch const inline |
Perform every planned fetch for the step, through the Execution policy. |
SBIO_HDIOStatus |
fetch const inline |
Perform every planned fetch for the batch [first, last), through the policy. |
ZipFetchPlan
Section titled “ZipFetchPlan”inline explicit
inline explicit SBIO_HD ZipFetchPlan(const Groups &... groups)Defined in src/lib/sbio/core/iteration.hh:207
num_fetches
Section titled “num_fetches”const inline
inline SBIO_HD hd_std::size_t num_fetches() constDefined in src/lib/sbio/core/iteration.hh:216
The number of distinct fetches performed per step (or batch).
const inline
inline SBIO_HDIOStatus fetch(StepIdxType step_idx) constDefined in src/lib/sbio/core/iteration.hh:223
Perform every planned fetch for the step, through the Execution policy.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
step_idx |
StepIdxType |
The index of the step to fetch. |
const inline
inline SBIO_HDIOStatus fetch(StepBatch< StepIdxType > batch) constDefined in src/lib/sbio/core/iteration.hh:239
Perform every planned fetch for the batch [first, last), through the policy.
Public Static Attributes
Section titled “Public Static Attributes”| Return | Name | Description |
|---|---|---|
constexpr hd_std::size_t |
MaxFetches static constexpr |
The maximum number of distinct fetches over every StreamBroker of every group. |
MaxFetches
Section titled “MaxFetches”static constexpr
constexpr hd_std::size_t MaxFetches { ( Groups::SegmentCapacity + ... + 0 ) }Defined in src/lib/sbio/core/iteration.hh:203
The maximum number of distinct fetches over every StreamBroker of every group.
Public Types
Section titled “Public Types”| Name | Description |
|---|---|
StepIdxType |
StepIdxType
Section titled “StepIdxType”using StepIdxType = typename FTraits::StepIdxTypeDefined in src/lib/sbio/core/iteration.hh:198
Private Attributes
Section titled “Private Attributes”| Return | Name | Description |
|---|---|---|
hd_std::tuple< const Groups *... > |
m_groups |
|
BoundedList< Fetch, MaxFetches > |
m_fetches |
m_groups
Section titled “m_groups”hd_std::tuple< const Groups *... > m_groupsDefined in src/lib/sbio/core/iteration.hh:454
m_fetches
Section titled “m_fetches”BoundedList< Fetch, MaxFetches > m_fetchesType: BoundedList< Fetch, MaxFetches >
Defined in src/lib/sbio/core/iteration.hh:455
Private Methods
Section titled “Private Methods”| Return | Name | Description |
|---|---|---|
SBIO_HD void |
plan_fetches inline |
|
SBIO_HD void |
plan_group inline |
|
SBIO_HD bool |
shares_fetch const inline |
|
SBIO_HD bool |
shares_buffer const inline |
|
SBIO_HDIOStatus |
fetch_range const inline |
The range of steps for a StreamBroker that are read for a BrokerGroups range. |
SBIO_HDIOStatus |
check_shared_buffer const inline |
|
SBIO_HDIOStatus |
fetch_one const inline |
|
SBIO_HDIOStatus |
fetch_range_one const inline |
plan_fetches
Section titled “plan_fetches”inline
template<hd_std::size_t... Is> inline SBIO_HD void plan_fetches(hd_std::index_sequence< Is... >)Defined in src/lib/sbio/core/iteration.hh:267
plan_group
Section titled “plan_group”inline
template<hd_std::size_t G> inline SBIO_HD void plan_group()Defined in src/lib/sbio/core/iteration.hh:272
shares_fetch
Section titled “shares_fetch”const inline
template<class Group, hd_std::size_t... Is> inline SBIO_HD bool shares_fetch(const Group & group, hd_std::size_t broker_no, const Fetch & fetch_, hd_std::index_sequence< Is... >) constDefined in src/lib/sbio/core/iteration.hh:305
shares_buffer
Section titled “shares_buffer”const inline
template<class Group, hd_std::size_t... Is> inline SBIO_HD bool shares_buffer(const Group & group, hd_std::size_t broker_no, const Fetch & fetch_, hd_std::index_sequence< Is... > seq) constDefined in src/lib/sbio/core/iteration.hh:324
fetch_range
Section titled “fetch_range”const inline
template<hd_std::size_t... Is> inline SBIO_HDIOStatus fetch_range(const Fetch & fetch_, StepIdxType first, StepIdxType last, hd_std::size_t & first_ordinal, hd_std::size_t & end_ordinal, hd_std::index_sequence< Is... > seq) constDefined in src/lib/sbio/core/iteration.hh:348
The range of steps for a StreamBroker that are read for a BrokerGroups range.
check_shared_buffer
Section titled “check_shared_buffer”const inline
template<hd_std::size_t... Is> inline SBIO_HDIOStatus check_shared_buffer(const Fetch & fetch_, StepIdxType first, StepIdxType last, hd_std::index_sequence< Is... > seq) constDefined in src/lib/sbio/core/iteration.hh:371
fetch_one
Section titled “fetch_one”const inline
template<hd_std::size_t... Is> inline SBIO_HDIOStatus fetch_one(const Fetch & fetch_, StepIdxType step, hd_std::index_sequence< Is... >) constDefined in src/lib/sbio/core/iteration.hh:407
fetch_range_one
Section titled “fetch_range_one”const inline
template<hd_std::size_t... Is> inline SBIO_HDIOStatus fetch_range_one(const Fetch & fetch_, StepBatch< StepIdxType > batch, hd_std::index_sequence< Is... >) constDefined in src/lib/sbio/core/iteration.hh:431
Private Static Attributes
Section titled “Private Static Attributes”| Return | Name | Description |
|---|---|---|
constexpr hd_std::size_t |
NoFetch static constexpr |
NoFetch
Section titled “NoFetch”static constexpr
constexpr hd_std::size_t NoFetch { static_cast<hd_std::size_t>(-1) }Defined in src/lib/sbio/core/iteration.hh:264