14# ifdef WITH_HIP_DYNLOAD
24 friend class HIPContextScope;
27 hipDevice_t hipDevice;
29 hipModule_t hipModule;
32 int hipDevArchitecture;
33 int hipRuntimeVersion;
36 HIPDeviceKernels kernels;
38 static bool have_precompiled_kernels();
44 HIPDevice(
const DeviceInfo &info, Stats &stats, Profiler &profiler,
bool headless);
46 ~HIPDevice()
override;
48 bool support_device(
const uint );
52 bool use_adaptive_compilation();
54 virtual string compile_kernel_get_common_cflags(
const uint kernel_features);
56 virtual string compile_kernel(
const uint kernel_features,
58 const char *base =
"hip");
61 void reserve_local_memory(
const uint kernel_features);
64 void mem_alloc(device_memory &mem)
override;
68 device_memory &mem,
const size_t y,
size_t w,
const size_t h,
size_t elem)
override;
69 void mem_zero(device_memory &mem)
override;
70 void mem_free(device_memory &mem)
override;
75 void global_alloc(device_memory &mem);
76 void global_copy_to(device_memory &mem);
77 void global_free(device_memory &mem);
80 void tex_alloc(device_texture &mem);
81 void tex_copy_to(device_texture &mem);
82 void tex_free(device_texture &mem);
100 const bool log)
override;
104 int get_num_multiprocessors();
105 int get_max_num_threads_per_multiprocessor();
108 bool get_device_attribute(hipDeviceAttribute_t attribute,
int *value);
109 int get_device_default_attribute(hipDeviceAttribute_t attribute,
const int default_value);
void BLI_kdtree_nd_ free(KDTree *tree)
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
virtual void mem_move_to_host(device_memory &mem)=0
virtual void mem_zero(device_memory &mem)=0
virtual unique_ptr< DeviceQueue > gpu_queue_create()
virtual void const_copy_to(const char *name, void *host, const size_t size)=0
virtual bool load_kernels(uint)
virtual void set_error(const string &error)
virtual BVHLayoutMask get_bvh_layout_mask(const uint kernel_features) const =0
virtual bool should_use_graphics_interop(const GraphicsInteropDevice &, const bool=false)
virtual bool check_peer_access(Device *)
virtual void mem_free(device_memory &mem)=0
virtual void mem_copy_from(device_memory &mem, const size_t y, size_t w, const size_t h, size_t elem)=0
virtual void mem_copy_to(device_memory &mem)=0
virtual device_ptr mem_alloc_sub_ptr(device_memory &, size_t, size_t)
virtual void mem_alloc(device_memory &mem)=0
#define CCL_NAMESPACE_END
static void error(const char *str)
virtual bool shared_alloc(void *&shared_pointer, const size_t size)=0
virtual void shared_free(void *shared_pointer)=0
virtual void get_device_memory_info(size_t &total, size_t &free)=0
virtual bool alloc_device(void *&device_pointer, const size_t size)=0
virtual void * shared_to_device_pointer(const void *shared_pointer)=0
virtual void copy_host_to_device(void *device_pointer, void *host_pointer, const size_t size)=0
virtual void free_device(void *device_pointer)=0