Halide  12.0.1
Halide compiler and libraries
Halide::Internal::GPUCompilationCache< ContextT, ModuleStateT > Class Template Reference

#include <gpu_context_common.h>

Public Member Functions

HALIDE_MUST_USE_RESULT bool insert (const CachedCompilation &entry)
 
HALIDE_MUST_USE_RESULT bool find_internal (ContextT context, uint32_t id, ModuleStateT *&module_state, int increment)
 
HALIDE_MUST_USE_RESULT bool lookup (ContextT context, void *state_ptr, ModuleStateT &module_state)
 
HALIDE_MUST_USE_RESULT bool resize_table (int size_bits)
 
template<typename FreeModuleT >
void release_context (void *user_context, bool all, ContextT context, FreeModuleT &f)
 
template<typename FreeModuleT >
void delete_context (void *user_context, ContextT context, FreeModuleT &f)
 
template<typename FreeModuleT >
void release_all (void *user_context, FreeModuleT &f)
 
template<typename CompileModuleT , typename... Args>
HALIDE_MUST_USE_RESULT bool kernel_state_setup (void *user_context, void **state_ptr, ContextT context, ModuleStateT &result, CompileModuleT f, Args... args)
 
void release_hold (void *user_context, ContextT context, void *state_ptr)
 

Static Public Member Functions

static ALWAYS_INLINE uintptr_t kernel_hash (ContextT context, uint32_t id, uint32_t bits)
 

Detailed Description

template<typename ContextT, typename ModuleStateT>
class Halide::Internal::GPUCompilationCache< ContextT, ModuleStateT >

Definition at line 8 of file gpu_context_common.h.

Member Function Documentation

◆ kernel_hash()

template<typename ContextT , typename ModuleStateT >
static ALWAYS_INLINE uintptr_t Halide::Internal::GPUCompilationCache< ContextT, ModuleStateT >::kernel_hash ( ContextT  context,
uint32_t  id,
uint32_t  bits 
)
inlinestatic

◆ insert()

◆ find_internal()

◆ lookup()

template<typename ContextT , typename ModuleStateT >
HALIDE_MUST_USE_RESULT bool Halide::Internal::GPUCompilationCache< ContextT, ModuleStateT >::lookup ( ContextT  context,
void *  state_ptr,
ModuleStateT &  module_state 
)
inline

◆ resize_table()

template<typename ContextT , typename ModuleStateT >
HALIDE_MUST_USE_RESULT bool Halide::Internal::GPUCompilationCache< ContextT, ModuleStateT >::resize_table ( int  size_bits)
inline

◆ release_context()

template<typename ContextT , typename ModuleStateT >
template<typename FreeModuleT >
void Halide::Internal::GPUCompilationCache< ContextT, ModuleStateT >::release_context ( void *  user_context,
bool  all,
ContextT  context,
FreeModuleT &  f 
)
inline

◆ delete_context()

template<typename ContextT , typename ModuleStateT >
template<typename FreeModuleT >
void Halide::Internal::GPUCompilationCache< ContextT, ModuleStateT >::delete_context ( void *  user_context,
ContextT  context,
FreeModuleT &  f 
)
inline

◆ release_all()

template<typename ContextT , typename ModuleStateT >
template<typename FreeModuleT >
void Halide::Internal::GPUCompilationCache< ContextT, ModuleStateT >::release_all ( void *  user_context,
FreeModuleT &  f 
)
inline

◆ kernel_state_setup()

template<typename ContextT , typename ModuleStateT >
template<typename CompileModuleT , typename... Args>
HALIDE_MUST_USE_RESULT bool Halide::Internal::GPUCompilationCache< ContextT, ModuleStateT >::kernel_state_setup ( void *  user_context,
void **  state_ptr,
ContextT  context,
ModuleStateT &  result,
CompileModuleT  f,
Args...  args 
)
inline

◆ release_hold()

template<typename ContextT , typename ModuleStateT >
void Halide::Internal::GPUCompilationCache< ContextT, ModuleStateT >::release_hold ( void *  user_context,
ContextT  context,
void *  state_ptr 
)
inline

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