Go to the documentation of this file. 1 #ifndef HALIDE_HALIDERUNTIMECUDA_H
2 #define HALIDE_HALIDERUNTIMECUDA_H
5 #ifndef HALIDE_HALIDERUNTIME_H
19 #define HALIDE_RUNTIME_CUDA
27 const char *src,
int size);
30 const char *entry_name,
31 int blocksX,
int blocksY,
int blocksZ,
32 int threadsX,
int threadsY,
int threadsZ,
89 #endif // HALIDE_HALIDERUNTIMECUDA_H
uintptr_t halide_cuda_get_device_ptr(void *user_context, struct halide_buffer_t *buf)
Return the underlying device pointer for a halide_buffer_t.
int halide_cuda_initialize_kernels(void *user_context, void **state_ptr, const char *src, int size)
These are forward declared here to allow clients to override the Halide Cuda runtime.
int halide_cuda_run(void *user_context, void *state_ptr, const char *entry_name, int blocksX, int blocksY, int blocksZ, int threadsX, int threadsY, int threadsZ, int shared_mem_bytes, size_t arg_sizes[], void *args[], int8_t arg_is_buffer[])
int(* halide_cuda_get_stream_t)(void *, void *, void **)
halide_cuda_release_context_t halide_set_cuda_release_context(halide_cuda_release_context_t handler)
halide_cuda_acquire_context_t halide_set_cuda_acquire_context(halide_cuda_acquire_context_t handler)
Set custom methods to acquire and release cuda contexts and streams.
signed __INT8_TYPE__ int8_t
int halide_cuda_detach_device_ptr(void *user_context, struct halide_buffer_t *buf)
Disconnect this halide_buffer_t from the device pointer it was previously wrapped around.
__UINTPTR_TYPE__ uintptr_t
unsigned __INT64_TYPE__ uint64_t
int halide_cuda_wrap_device_ptr(void *user_context, struct halide_buffer_t *buf, uint64_t device_ptr)
Set the underlying cuda device poiner for a buffer.
The raw representation of an image passed around by generated Halide code.
halide_cuda_get_stream_t halide_set_cuda_get_stream(halide_cuda_get_stream_t handler)
int(* halide_cuda_acquire_context_t)(void *, void **, bool)
int halide_cuda_release_unused_device_allocations(void *user_context)
Release any currently-unused device allocations back to the cuda driver.
Each GPU API provides a halide_device_interface_t struct pointing to the code that manages device all...
void halide_cuda_finalize_kernels(void *user_context, void *state_ptr)
const struct halide_device_interface_t * halide_cuda_device_interface()
int(* halide_cuda_release_context_t)(void *)