Halide 22.0.0 Halide compiler and libraries

Public Attributes | List of all members
halide_profiler_state Struct Reference

The global state of the profiler. More...

`#include <HalideRuntime.h>`

## Public Attributes
struct halide_mutex | lock
| Guards access to the fields below. More...
struct halide_profiler_pipeline_stats * | pipelines
| A linked list of stats gathered for each pipeline. More...
struct halide_thread * | sampling_thread
| Retrieve remote profiler state. More...
struct halide_profiler_instance_state * | instances
| The running instances of Halide pipelines. More...
void(* | get_remote_profiler_state )(int *func, int *active_workers)
| If this callback is defined, the profiler asserts that there is a single live instance, and then uses it to get the current func and number of active threads insted of reading the fields in the instance. More...
int | sleep_time
| The amount of time the profiler thread sleeps between samples in microseconds. More...
int | shutdown
| Set to 1 when you want the profiler to wait for all running instances to finish and then stop gracefully. More...

## Detailed Description

The global state of the profiler.

Definition at line 1984 of file HalideRuntime.h.

## Member Data Documentation

## ◆ lock

struct halide_mutex halide_profiler_state::lock

Guards access to the fields below.

If not locked, the sampling profiler thread is free to modify things below (including reordering the linked list of pipeline stats).

Definition at line 1988 of file HalideRuntime.h.

## ◆ pipelines

struct halide_profiler_pipeline_stats* halide_profiler_state::pipelines

A linked list of stats gathered for each pipeline.

Definition at line 1991 of file HalideRuntime.h.

## ◆ sampling_thread

struct halide_thread* halide_profiler_state::sampling_thread

Retrieve remote profiler state.

Used so that the sampling profiler can follow along with execution that occurs elsewhere, e.g. on a DSP. If null, it reads from the int above instead. Sampling thread reference to be joined at shutdown.

Definition at line 1998 of file HalideRuntime.h.

## ◆ instances

struct halide_profiler_instance_state* halide_profiler_state::instances

The running instances of Halide pipelines.

Definition at line 2001 of file HalideRuntime.h.

## ◆ get_remote_profiler_state

void(* halide_profiler_state::get_remote_profiler_state) (int *func, int *active_workers)

If this callback is defined, the profiler asserts that there is a single live instance, and then uses it to get the current func and number of active threads insted of reading the fields in the instance.

This is used so that the profiler can follow along with execution that occurs elsewhere (e.g. on an accelerator).

Definition at line 2008 of file HalideRuntime.h.

## ◆ sleep_time

int halide_profiler_state::sleep_time

The amount of time the profiler thread sleeps between samples in microseconds.

Defaults to 1000. To change it call halide_profiler_get_state and mutate this field.

Definition at line 2013 of file HalideRuntime.h.

## ◆ shutdown

int halide_profiler_state::shutdown

Set to 1 when you want the profiler to wait for all running instances to finish and then stop gracefully.

Definition at line 2017 of file HalideRuntime.h.

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

- src/runtime/HalideRuntime.h