halide_parallel_task_t Struct Reference

A parallel task to be passed to halide_do_parallel_tasks. More...

#include <HalideRuntime.h>

Public Attributes

halide_loop_task_t fn
const char * name
struct halide_semaphore_acquire_tsemaphores
int num_semaphores
int min
int extent
int min_threads
bool serial

Detailed Description

A parallel task to be passed to halide_do_parallel_tasks.

This task may recursively call halide_do_parallel_tasks, and there may be complex dependencies between seemingly unrelated tasks expressed using semaphores. If you are using a custom task system, care must be taken to avoid potential deadlock. This can be done by carefully respecting the static metadata at the end of the task struct.

Definition at line 197 of file HalideRuntime.h.

Member Data Documentation

◆ fn

halide_loop_task_t halide_parallel_task_t::fn

◆ closure

uint8_t* halide_parallel_task_t::closure

◆ name

◆ semaphores

struct halide_semaphore_acquire_t* halide_parallel_task_t::semaphores

◆ num_semaphores

int halide_parallel_task_t::num_semaphores

◆ min

int halide_parallel_task_t::min

◆ extent

◆ min_threads

◆ serial

bool halide_parallel_task_t::serial

The documentation for this struct was generated from the following file: