Halide 22.0.0 Halide compiler and libraries

Static Public Member Functions | List of all members
Halide::Internal::JITSharedRuntime Class Reference

`#include <JITModule.h>`

## Static Public Member Functions
static std::vector< JITModule > | get (llvm::Module *m, const Target &target, bool create=true)
static void | populate_jit_handlers (JITUserContext *jit_user_context, const JITHandlers &handlers)
static JITHandlers | set_default_handlers (const JITHandlers &handlers)
static void | memoization_cache_set_size (int64_t size)
| Set the maximum number of bytes used by memoization caching. More...
static void | memoization_cache_evict (uint64_t eviction_key)
| Evict all cache entries that were tagged with the given eviction_key in the memoize scheduling directive. More...
static void | reuse_device_allocations (bool)
| Set whether or not Halide may hold onto and reuse device allocations to avoid calling expensive device API allocation functions. More...
static void | release_all ()
static int | get_num_threads ()
| Get the number of threads in the Halide thread pool. More...
static int | set_num_threads (int)
| Set the number of threads to use in the Halide thread pool, inclusive of the calling thread. More...

## Detailed Description

Definition at line 260 of file JITModule.h.

## Member Function Documentation

## ◆ get()

static std::vector< JITModule > Halide::Internal::JITSharedRuntime::get | ( | llvm::Module * | m,
|  | const Target & | target,
|  | bool | create = `true`
| ) |  |
| static

## ◆ populate_jit_handlers()

static void Halide::Internal::JITSharedRuntime::populate_jit_handlers | ( | JITUserContext * | jit_user_context,
|  | const JITHandlers & | handlers
| ) |  |
| static

## ◆ set_default_handlers()

static JITHandlers Halide::Internal::JITSharedRuntime::set_default_handlers | ( | const JITHandlers & | handlers | ) |
| static

## ◆ memoization_cache_set_size()

static void Halide::Internal::JITSharedRuntime::memoization_cache_set_size | ( | int64_t | size | ) |
| static

Set the maximum number of bytes used by memoization caching.

If you are compiling statically, you should include HalideRuntime.h and call halide_memoization_cache_set_size() instead.

## ◆ memoization_cache_evict()

static void Halide::Internal::JITSharedRuntime::memoization_cache_evict | ( | uint64_t | eviction_key | ) |
| static

Evict all cache entries that were tagged with the given eviction_key in the memoize scheduling directive.

If you are compiling statically, you should include HalideRuntime.h and call halide_memoization_cache_evict() instead.

## ◆ reuse_device_allocations()

static void Halide::Internal::JITSharedRuntime::reuse_device_allocations | ( | bool |  | ) |
| static

Set whether or not Halide may hold onto and reuse device allocations to avoid calling expensive device API allocation functions.

If you are compiling statically, you should include HalideRuntime.h and call halide_reuse_device_allocations instead.

## ◆ release_all()

static void Halide::Internal::JITSharedRuntime::release_all | ( |  | ) |
| static

## ◆ get_num_threads()

static int Halide::Internal::JITSharedRuntime::get_num_threads | ( |  | ) |
| static

Get the number of threads in the Halide thread pool.

Includes the calling thread. Meaningless if a custom_do_par_for has been set.

## ◆ set_num_threads()

static int Halide::Internal::JITSharedRuntime::set_num_threads | ( | int |  | ) |
| static

Set the number of threads to use in the Halide thread pool, inclusive of the calling thread.

Pass zero to use a reasonable default (typically the number of CPUs online). Calling this is meaningless if custom_do_par_for has been set. Halide may launch more threads than this if necessary to avoid deadlock when using the async scheduling directive. Returns the old number.

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

- src/JITModule.h