Halide
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 247 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

const char* halide_parallel_task_t::name

◆ semaphores

struct halide_semaphore_acquire_t* halide_parallel_task_t::semaphores

Definition at line 260 of file HalideRuntime.h.

Referenced by Halide::Runtime::Internal::work::make_runnable().

◆ num_semaphores

int halide_parallel_task_t::num_semaphores

Definition at line 261 of file HalideRuntime.h.

Referenced by Halide::Runtime::Internal::work::make_runnable().

◆ min

int halide_parallel_task_t::min

◆ extent

◆ min_threads

int halide_parallel_task_t::min_threads

◆ serial

bool halide_parallel_task_t::serial

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