14# ifdef WITH_CUDA_DYNLOAD
27 friend class CUDAContextScope;
35 int cuDevArchitecture;
38 CUDADeviceKernels kernels;
40 static bool have_precompiled_kernels();
48 virtual ~CUDADevice();
50 bool support_device(
const uint );
54 bool use_adaptive_compilation();
56 string compile_kernel_get_common_cflags(
const uint kernel_features);
58 string compile_kernel(
const string &cflags,
60 const char *base =
"cuda",
61 bool force_ptx =
false);
65 void reserve_local_memory(
const uint kernel_features);
68 virtual bool alloc_device(
void *&device_pointer,
size_t size)
override;
69 virtual void free_device(
void *device_pointer)
override;
70 virtual bool alloc_host(
void *&shared_pointer,
size_t size)
override;
71 virtual void free_host(
void *shared_pointer)
override;
73 virtual void copy_host_to_device(
void *device_pointer,
void *host_pointer,
size_t size)
override;
87 virtual void const_copy_to(
const char *name,
void *host,
size_t size)
override;
101 int get_num_multiprocessors();
102 int get_max_num_threads_per_multiprocessor();
105 bool get_device_attribute(CUdevice_attribute attribute,
int *value);
106 int get_device_default_attribute(CUdevice_attribute attribute,
int default_value);
void BLI_kdtree_nd_ free(KDTree *tree)
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
virtual void const_copy_to(const char *name, void *host, size_t size)=0
virtual void mem_zero(device_memory &mem)=0
virtual void mem_copy_from(device_memory &mem, size_t y, size_t w, size_t h, size_t elem)=0
virtual unique_ptr< DeviceQueue > gpu_queue_create()
virtual bool load_kernels(uint)
virtual bool check_peer_access(Device *)
virtual void mem_free(device_memory &mem)=0
virtual BVHLayoutMask get_bvh_layout_mask(uint kernel_features) const =0
virtual void set_error(const string &error)
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
virtual bool should_use_graphics_interop()
#define CCL_NAMESPACE_END
static void error(const char *str)
virtual void get_device_memory_info(size_t &total, size_t &free)=0
virtual bool alloc_host(void *&shared_pointer, size_t size)=0
virtual void transform_host_pointer(void *&device_pointer, void *&shared_pointer)=0
virtual void copy_host_to_device(void *device_pointer, void *host_pointer, size_t size)=0
virtual void free_host(void *shared_pointer)=0
virtual void free_device(void *device_pointer)=0
virtual bool alloc_device(void *&device_pointer, size_t size)=0