Skip to main content

class task

Declaration

class task : public intrusive_graph_node { /* full declaration omitted */ };

Inherits from: intrusive_graph_node

Member Variables

task_id m_tid
task_type m_type
collective_group_id m_cgid
task_geometry m_geometry
command_group_launcher m_launcher
buffer_access_map m_access_map
detail::side_effect_map m_side_effects
reduction_set m_reductions
std::string m_debug_name
detail::epoch_action m_epoch_action
std::unique_ptr<fence_promise> m_fence_promise
std::vector<std::unique_ptr<hint_base>> m_hints

Member Function Overview

  • add_hint(std::unique_ptr<hint_base> && h) → void
  • get_buffer_access_map() const → const buffer_access_map &
  • get_collective_group_id() const → collective_group_id
  • get_debug_name() const → const std::string &
  • get_dimensions() const → int
  • get_epoch_action() const → epoch_action
  • get_execution_target() const → execution_target
  • get_fence_promise() const → fence_promise *
  • get_geometry() const → const task_geometry &
  • get_global_offset() const → id<3>
  • get_global_size() const → range<3>
  • get_granularity() const → range<3>
  • template <typename Hint>
    get_hint() const → const Hint *
  • get_id() const → task_id
  • template <typename Launcher>
    get_launcher() const → Launcher
  • get_reductions() const → const reduction_set &
  • get_side_effect_map() const → const side_effect_map &
  • get_type() const → task_type
  • has_variable_split() const → bool
  • make_collective(task_id tid, collective_group_id cgid, size_t num_collective_nodes, host_task_launcher launcher, buffer_access_map access_map, side_effect_map side_effect_map) → static std::unique_ptr<task>
  • make_device_compute(task_id tid, task_geometry geometry, device_kernel_launcher launcher, buffer_access_map access_map, reduction_set reductions) → static std::unique_ptr<task>
  • make_epoch(task_id tid, detail::epoch_action action) → static std::unique_ptr<task>
  • make_fence(task_id tid, buffer_access_map access_map, side_effect_map side_effect_map, std::unique_ptr<fence_promise> fence_promise) → static std::unique_ptr<task>
  • make_horizon(task_id tid) → static std::unique_ptr<task>
  • make_host_compute(task_id tid, task_geometry geometry, host_task_launcher launcher, buffer_access_map access_map, side_effect_map side_effect_map, reduction_set reductions) → static std::unique_ptr<task>
  • make_master_node(task_id tid, host_task_launcher launcher, buffer_access_map access_map, side_effect_map side_effect_map) → static std::unique_ptr<task>
  • set_debug_name(const std::string & debug_name) → void
  • task(task_id tid, task_type type, collective_group_id cgid, task_geometry geometry, command_group_launcher launcher, buffer_access_map access_map, detail::side_effect_map side_effects, reduction_set reductions, detail::epoch_action epoch_action, std::unique_ptr<fence_promise> fence_promise)

Member Functions

void add_hint(std::unique_ptr<hint_base>&& h)

Parameters

std::unique_ptr<hint_base>&& h

const buffer_access_map& get_buffer_access_map()
    const


collective_group_id get_collective_group_id()
    const


const std::string& get_debug_name() const


int get_dimensions() const


epoch_action get_epoch_action() const


execution_target get_execution_target() const


fence_promise* get_fence_promise() const


const task_geometry& get_geometry() const


id<3> get_global_offset() const


range<3> get_global_size() const


range<3> get_granularity() const


template <typename Hint>
const Hint* get_hint() const

Template Parameters

Hint

task_id get_id() const


template <typename Launcher>
Launcher get_launcher() const

Template Parameters

Launcher

const reduction_set& get_reductions() const


const side_effect_map& get_side_effect_map() const


task_type get_type() const


bool has_variable_split() const


static std::unique_ptr<task> make_collective(
    task_id tid,
    collective_group_id cgid,
    size_t num_collective_nodes,
    host_task_launcher launcher,
    buffer_access_map access_map,
    side_effect_map side_effect_map)

Parameters

task_id tid
collective_group_id cgid
size_t num_collective_nodes
host_task_launcher launcher
buffer_access_map access_map
side_effect_map side_effect_map

static std::unique_ptr<task> make_device_compute(
    task_id tid,
    task_geometry geometry,
    device_kernel_launcher launcher,
    buffer_access_map access_map,
    reduction_set reductions)

Parameters

task_id tid
task_geometry geometry
device_kernel_launcher launcher
buffer_access_map access_map
reduction_set reductions

static std::unique_ptr<task> make_epoch(
    task_id tid,
    detail::epoch_action action)

Parameters

task_id tid
detail::epoch_action action

static std::unique_ptr<task> make_fence(
    task_id tid,
    buffer_access_map access_map,
    side_effect_map side_effect_map,
    std::unique_ptr<fence_promise> fence_promise)

Parameters

task_id tid
buffer_access_map access_map
side_effect_map side_effect_map
std::unique_ptr<fence_promise> fence_promise

static std::unique_ptr<task> make_horizon(
    task_id tid)

Parameters

task_id tid

static std::unique_ptr<task> make_host_compute(
    task_id tid,
    task_geometry geometry,
    host_task_launcher launcher,
    buffer_access_map access_map,
    side_effect_map side_effect_map,
    reduction_set reductions)

Parameters

task_id tid
task_geometry geometry
host_task_launcher launcher
buffer_access_map access_map
side_effect_map side_effect_map
reduction_set reductions

static std::unique_ptr<task> make_master_node(
    task_id tid,
    host_task_launcher launcher,
    buffer_access_map access_map,
    side_effect_map side_effect_map)

Parameters

task_id tid
host_task_launcher launcher
buffer_access_map access_map
side_effect_map side_effect_map

void set_debug_name(const std::string& debug_name)

Parameters

const std::string& debug_name

task(task_id tid,
     task_type type,
     collective_group_id cgid,
     task_geometry geometry,
     command_group_launcher launcher,
     buffer_access_map access_map,
     detail::side_effect_map side_effects,
     reduction_set reductions,
     detail::epoch_action epoch_action,
     std::unique_ptr<fence_promise> fence_promise)

Parameters

task_id tid
task_type type
collective_group_id cgid
task_geometry geometry
command_group_launcher launcher
buffer_access_map access_map
detail::side_effect_map side_effects
reduction_set reductions
detail::epoch_action epoch_action
std::unique_ptr<fence_promise> fence_promise