class buffer_access_map
Declaration
class buffer_access_map { /* full declaration omitted */ };
Declared at: include/task.h:26
Member Variables
- std::vector<buffer_access> m_accesses
- std::unordered_set<buffer_id> m_accessed_buffers
- Cached set of buffer ids found in m_accesses
- task_geometry m_task_geometry
- std::unordered_map<buffer_id, region<3>> m_task_consumed_regions
- std::unordered_map<buffer_id, region<3>> m_task_produced_regions
Member Function Overview
- buffer_access_map()
- buffer_access_map(std::vector<buffer_access> && accesses, const task_geometry & geometry)
- compute_consumed_region(buffer_id bid, const box<3> & execution_range) const → region<3>
- compute_produced_region(buffer_id bid, const box<3> & execution_range) const → region<3>
- compute_required_contiguous_boxes(buffer_id bid, const box<3> & execution_range) const → box_vector<3>
- get_accessed_buffers() const & → const std::unordered_set<buffer_id> &
- get_nth_access(size_t n) const → std::pair<buffer_id, access_mode>
- get_num_accesses() const → size_t
- get_requirements_for_nth_access(size_t n, const box<3> & execution_range) const → region<3>
- get_task_consumed_region(buffer_id bid) const → region<3>
- get_task_produced_region(buffer_id bid) const → region<3>
Member Functions
¶buffer_access_map()
buffer_access_map()
Description
Default ctor for tasks w/o buffer accesses
Declared at: include/task.h:29
¶buffer_access_map(
std::vector<buffer_access>&& accesses,
const task_geometry& geometry)
buffer_access_map(
std::vector<buffer_access>&& accesses,
const task_geometry& geometry)
Declared at: include/task.h:31
Parameters
- std::vector<buffer_access>&& accesses
- const task_geometry& geometry
¶region<3> compute_consumed_region(
buffer_id bid,
const box<3>& execution_range) const
region<3> compute_consumed_region(
buffer_id bid,
const box<3>& execution_range) const
Description
Computes the union of all consumed regions (across multiple accesses) for a given execution range.
Declared at: include/task.h:59
Parameters
¶region<3> compute_produced_region(
buffer_id bid,
const box<3>& execution_range) const
region<3> compute_produced_region(
buffer_id bid,
const box<3>& execution_range) const
Description
Computes the union of all produced regions (across multiple accesses) for a given execution range.
Declared at: include/task.h:62
Parameters
¶box_vector<3> compute_required_contiguous_boxes(
buffer_id bid,
const box<3>& execution_range) const
box_vector<3> compute_required_contiguous_boxes(
buffer_id bid,
const box<3>& execution_range) const
Description
Returns a set of bounding boxes, one for each accessed region, that must be allocated contiguously.
Declared at: include/task.h:65
Parameters
¶const std::unordered_set<buffer_id>&
get_accessed_buffers() const&
const std::unordered_set<buffer_id>&
get_accessed_buffers() const&
Declared at: include/task.h:33
¶std::pair<buffer_id, access_mode> get_nth_access(
size_t n) const
std::pair<buffer_id, access_mode> get_nth_access(
size_t n) const
Declared at: include/task.h:37
Parameters
- size_t n
¶size_t get_num_accesses() const
size_t get_num_accesses() const
Declared at: include/task.h:35
¶region<3> get_requirements_for_nth_access(
size_t n,
const box<3>& execution_range) const
region<3> get_requirements_for_nth_access(
size_t n,
const box<3>& execution_range) const
Declared at: include/task.h:42
Parameters
- size_t n
- const box<3>& execution_range
¶region<3> get_task_consumed_region(
buffer_id bid) const
region<3> get_task_consumed_region(
buffer_id bid) const
Description
Returns the union of all consumer accesses made across the entire task (conceptually, the union of the set of regions obtained by calling get_consumed_region for each chunk).
Declared at: include/task.h:46
Parameters
- buffer_id bid
¶region<3> get_task_produced_region(
buffer_id bid) const
region<3> get_task_produced_region(
buffer_id bid) const
Description
Returns the union of all producer accesses made across the entire task (conceptually, the union of the set of regions obtained by calling get_produced_region for each chunk).
Declared at: include/task.h:53
Parameters
- buffer_id bid