12void HIPDeviceKernels::load(HIPDevice *device)
14 hipModule_t hipModule = device->hipModule;
17 HIPDeviceKernel &kernel = kernels_[i];
24 const std::string function_name = std::string(
"kernel_gpu_") +
26 hip_device_assert(device,
27 hipModuleGetFunction(&kernel.function, hipModule, function_name.c_str()));
29 if (kernel.function) {
30 hip_device_assert(device, hipFuncSetCacheConfig(kernel.function, hipFuncCachePreferL1));
34 hipModuleOccupancyMaxPotentialBlockSize(
35 &kernel.min_blocks, &kernel.num_threads_per_block, kernel.function, 0, 0));
38 LOG(ERROR) <<
"Unable to load kernel " << function_name;
45const HIPDeviceKernel &HIPDeviceKernels::get(
DeviceKernel kernel)
const
47 return kernels_[(
int)kernel];
50bool HIPDeviceKernels::available(
DeviceKernel kernel)
const
52 return kernels_[(
int)kernel].function !=
nullptr;
#define CCL_NAMESPACE_END
const char * device_kernel_as_string(DeviceKernel kernel)
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
@ DEVICE_KERNEL_INTEGRATOR_MEGAKERNEL