* Replace license text in headers with SPDX identifiers. * Remove specific license info from outdated readme.txt, instead leave details to the source files. * Add list of SPDX license identifiers used, and corresponding license texts. * Update copyright dates while we're at it. Ref D14069, T95597
42 lines
773 B
C++
42 lines
773 B
C++
/* SPDX-License-Identifier: Apache-2.0
|
|
* Copyright 2011-2022 Blender Foundation */
|
|
|
|
#pragma once
|
|
|
|
#ifdef WITH_HIP
|
|
|
|
# include "device/kernel.h"
|
|
|
|
# ifdef WITH_HIP_DYNLOAD
|
|
# include "hipew.h"
|
|
# endif
|
|
|
|
CCL_NAMESPACE_BEGIN
|
|
|
|
class HIPDevice;
|
|
|
|
/* HIP kernel and associate occupancy information. */
|
|
class HIPDeviceKernel {
|
|
public:
|
|
hipFunction_t function = nullptr;
|
|
|
|
int num_threads_per_block = 0;
|
|
int min_blocks = 0;
|
|
};
|
|
|
|
/* Cache of HIP kernels for each DeviceKernel. */
|
|
class HIPDeviceKernels {
|
|
public:
|
|
void load(HIPDevice *device);
|
|
const HIPDeviceKernel &get(DeviceKernel kernel) const;
|
|
bool available(DeviceKernel kernel) const;
|
|
|
|
protected:
|
|
HIPDeviceKernel kernels_[DEVICE_KERNEL_NUM];
|
|
bool loaded = false;
|
|
};
|
|
|
|
CCL_NAMESPACE_END
|
|
|
|
#endif /* WITH_HIP */
|