Halide 21.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
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
uint8_tclosure
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 272 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

Definition at line 285 of file HalideRuntime.h.

Referenced by halide_default_do_par_for().

◆ num_semaphores

int halide_parallel_task_t::num_semaphores

Definition at line 286 of file HalideRuntime.h.

Referenced by halide_default_do_par_for().

◆ 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: