Skip to main content

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

Member Functions

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)

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

Description

Computes the union of all consumed regions (across multiple accesses) for a given execution range.

Declared at: include/task.h:59

Parameters

buffer_id bid
const box<3>& execution_range

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

buffer_id bid
const box<3>& execution_range

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

buffer_id bid
const box<3>& execution_range

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

Declared at: include/task.h:37

Parameters

size_t n

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

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

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

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