Halide 18.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

Definition at line 275 of file HalideRuntime.h.

Referenced by halide_default_do_par_for().

◆ closure

uint8_t* halide_parallel_task_t::closure

Definition at line 278 of file HalideRuntime.h.

Referenced by halide_default_do_par_for().

◆ name

const char* halide_parallel_task_t::name

Definition at line 281 of file HalideRuntime.h.

Referenced by halide_default_do_par_for().

◆ 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

Definition at line 290 of file HalideRuntime.h.

Referenced by halide_default_do_par_for().

◆ extent

◆ min_threads

◆ serial

bool halide_parallel_task_t::serial

Definition at line 314 of file HalideRuntime.h.

Referenced by halide_default_do_par_for().


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