Blender
V3.3
|
Classes | |
struct | SubDevice |
Public Attributes | |
list< SubDevice > | devices |
device_ptr | unique_key |
vector< vector< SubDevice * > > | peer_islands |
![]() | |
DeviceInfo | info |
Stats & | stats |
Profiler & | profiler |
Additional Inherited Members | |
![]() | |
static const CPUKernels & | get_cpu_kernels () |
static Device * | create (const DeviceInfo &info, Stats &stats, Profiler &profiler) |
static DeviceType | type_from_string (const char *name) |
static string | string_from_type (DeviceType type) |
static vector< DeviceType > | available_types () |
static vector< DeviceInfo > | available_devices (uint device_type_mask=DEVICE_MASK_ALL) |
static DeviceInfo | dummy_device (const string &error_msg="") |
static string | device_capabilities (uint device_type_mask=DEVICE_MASK_ALL) |
static DeviceInfo | get_multi_device (const vector< DeviceInfo > &subdevices, int threads, bool background) |
static void | tag_update () |
static void | free_memory () |
![]() | |
Device (const DeviceInfo &info_, Stats &stats_, Profiler &profiler_) | |
virtual device_ptr | mem_alloc_sub_ptr (device_memory &, size_t, size_t) |
virtual void | mem_free_sub_ptr (device_ptr) |
![]() | |
string | error_msg |
Definition at line 24 of file device/multi/device.cpp.
|
inline |
Definition at line 37 of file device/multi/device.cpp.
References Device::check_peer_access(), Device::create(), MultiDevice::SubDevice::device, DEVICE_CPU, devices, DeviceInfo::has_peer_memory, Device::info, DeviceInfo::multi_devices, MultiDevice::SubDevice::peer_island_index, peer_islands, Device::profiler, MultiDevice::SubDevice::stats, and DeviceInfo::type.
|
inline |
Definition at line 83 of file device/multi/device.cpp.
References MultiDevice::SubDevice::device, and devices.
Reimplemented from Device.
Definition at line 141 of file device/multi/device.cpp.
References Device::build_bvh(), Geometry::bvh, BVHParams::bvh_layout, BVH_LAYOUT_BVH2, BVH_LAYOUT_EMBREE, BVH_LAYOUT_METAL, BVH_LAYOUT_MULTI_METAL, BVH_LAYOUT_MULTI_METAL_EMBREE, BVH_LAYOUT_MULTI_OPTIX, BVH_LAYOUT_MULTI_OPTIX_EMBREE, BVH_LAYOUT_OPTIX, BVH::create(), MultiDevice::SubDevice::device, DEVICE_METAL, DEVICE_OPTIX, devices, BVH::geometry, Device::info, BVH::objects, BVH::params, params, refit(), BVHMulti::sub_bvhs, and DeviceInfo::type.
|
inlineoverridevirtual |
Implements Device.
Definition at line 385 of file device/multi/device.cpp.
References Device::const_copy_to(), MultiDevice::SubDevice::device, devices, and size().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 391 of file device/multi/device.cpp.
References MultiDevice::SubDevice::device, and devices.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 89 of file device/multi/device.cpp.
References MultiDevice::SubDevice::device, devices, Device::error_message(), and Device::error_msg.
|
inline |
Definition at line 255 of file device/multi/device.cpp.
References find_matching_mem_device(), and MultiDevice::SubDevice::ptr_map.
|
inline |
Definition at line 223 of file device/multi/device.cpp.
References MultiDevice::SubDevice::peer_island_index, peer_islands, and MultiDevice::SubDevice::ptr_map.
Referenced by find_matching_mem(), is_resident(), mem_copy_from(), and mem_free().
|
inline |
Definition at line 240 of file device/multi/device.cpp.
References MultiDevice::SubDevice::device, Stats::mem_used, MultiDevice::SubDevice::ptr_map, and Device::stats.
Referenced by mem_alloc(), mem_copy_to(), and mem_zero().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 404 of file device/multi/device.cpp.
References callback, MultiDevice::SubDevice::device, devices, and Device::foreach_device().
|
inlineoverridevirtual |
Implements Device.
Definition at line 99 of file device/multi/device.cpp.
References BVH_LAYOUT_ALL, BVH_LAYOUT_EMBREE, BVH_LAYOUT_METAL, BVH_LAYOUT_MULTI_METAL, BVH_LAYOUT_MULTI_METAL_EMBREE, BVH_LAYOUT_MULTI_OPTIX, BVH_LAYOUT_MULTI_OPTIX_EMBREE, BVH_LAYOUT_NONE, BVH_LAYOUT_OPTIX, MultiDevice::SubDevice::device, devices, and Device::get_bvh_layout_mask().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 205 of file device/multi/device.cpp.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 213 of file device/multi/device.cpp.
References MultiDevice::SubDevice::device, devices, and find_matching_mem_device().
Reimplemented from Device.
Definition at line 132 of file device/multi/device.cpp.
References MultiDevice::SubDevice::device, devices, and Device::load_kernels().
|
inlineoverridevirtual |
Implements Device.
Definition at line 260 of file device/multi/device.cpp.
References device_memory::device, MultiDevice::SubDevice::device, device_memory::device_pointer, device_memory::device_size, find_suitable_mem_device(), Device::mem_alloc(), Stats::mem_alloc(), MEM_DEVICE_ONLY, MEM_READ_ONLY, MEM_READ_WRITE, peer_islands, MultiDevice::SubDevice::ptr_map, Device::stats, device_memory::type, and unique_key.
|
inlineoverridevirtual |
Implements Device.
Definition at line 312 of file device/multi/device.cpp.
References device_memory::device, MultiDevice::SubDevice::device, device_memory::device_pointer, devices, find_matching_mem_device(), Device::mem_copy_from(), MultiDevice::SubDevice::ptr_map, sh, sy, w(), and y.
|
inlineoverridevirtual |
Implements Device.
Definition at line 281 of file device/multi/device.cpp.
References device_memory::device, MultiDevice::SubDevice::device, device_memory::device_pointer, device_memory::device_size, find_suitable_mem_device(), Stats::mem_alloc(), Device::mem_copy_to(), MEM_GLOBAL, MEM_TEXTURE, peer_islands, MultiDevice::SubDevice::ptr_map, Device::stats, device_memory::type, and unique_key.
|
inlineoverridevirtual |
Implements Device.
Definition at line 354 of file device/multi/device.cpp.
References device_memory::device, MultiDevice::SubDevice::device, device_memory::device_pointer, device_memory::device_size, find_matching_mem_device(), Device::mem_free(), Stats::mem_free(), MEM_TEXTURE, peer_islands, MultiDevice::SubDevice::ptr_map, Device::stats, and device_memory::type.
|
inlineoverridevirtual |
Implements Device.
Definition at line 333 of file device/multi/device.cpp.
References device_memory::device, MultiDevice::SubDevice::device, device_memory::device_pointer, device_memory::device_size, find_suitable_mem_device(), Stats::mem_alloc(), Device::mem_zero(), peer_islands, MultiDevice::SubDevice::ptr_map, Device::stats, and unique_key.
list<SubDevice> MultiDevice::devices |
Definition at line 33 of file device/multi/device.cpp.
Referenced by build_bvh(), const_copy_to(), device_number(), error_message(), foreach_device(), get_bvh_layout_mask(), get_cpu_osl_memory(), is_resident(), load_kernels(), mem_copy_from(), MultiDevice(), and ~MultiDevice().
Definition at line 35 of file device/multi/device.cpp.
Referenced by find_matching_mem_device(), mem_alloc(), mem_copy_to(), mem_free(), mem_zero(), and MultiDevice().
device_ptr MultiDevice::unique_key |
Definition at line 34 of file device/multi/device.cpp.
Referenced by mem_alloc(), mem_copy_to(), and mem_zero().