|
Blender V4.5
|
Inherits Device.
Classes | |
| struct | SubDevice |
Public Member Functions | |
| MultiDevice (const DeviceInfo &info_, Stats &stats, Profiler &profiler, bool headless) | |
| void | verify_hardware_raytracing () |
| const string & | error_message () override |
| BVHLayoutMask | get_bvh_layout_mask (const uint kernel_features) const override |
| bool | load_kernels (const uint kernel_features) override |
| bool | load_osl_kernels () override |
| void | build_bvh (BVH *bvh, Progress &progress, bool refit) override |
| OSLGlobals * | get_cpu_osl_memory () override |
| bool | is_resident (device_ptr key, Device *sub_device) override |
| SubDevice * | find_matching_mem_device (device_ptr key, SubDevice &sub) |
| SubDevice * | find_suitable_mem_device (device_ptr key, const vector< SubDevice * > &island) |
| device_ptr | find_matching_mem (device_ptr key, SubDevice &sub) |
| void * | host_alloc (const MemoryType type, const size_t size) override |
| void | host_free (const MemoryType type, void *host_pointer, const size_t size) override |
| void | mem_alloc (device_memory &mem) override |
| void | mem_copy_to (device_memory &mem) override |
| void | mem_move_to_host (device_memory &mem) override |
| bool | is_shared (const void *shared_pointer, const device_ptr key, Device *sub_device) override |
| void | mem_copy_from (device_memory &mem, const size_t y, size_t w, const size_t h, size_t elem) override |
| void | mem_zero (device_memory &mem) override |
| void | mem_free (device_memory &mem) override |
| void | const_copy_to (const char *name, void *host, const size_t size) override |
| int | device_number (Device *sub_device) override |
| void | foreach_device (const std::function< void(Device *)> &callback) override |
| Public Member Functions inherited from Device | |
| virtual | ~Device () noexcept(false) |
| bool | have_error () |
| virtual void | set_error (const string &error) |
| virtual void | cancel () |
| virtual bool | is_ready (string &) const |
| virtual unique_ptr< DeviceQueue > | gpu_queue_create () |
| virtual void | get_cpu_kernel_thread_globals (vector< ThreadKernelGlobalsCPU > &) |
| virtual void | release_bvh (BVH *) |
| virtual void | optimize_for_scene (Scene *) |
| virtual bool | check_peer_access (Device *) |
| virtual bool | should_use_graphics_interop (const GraphicsInteropDevice &, const bool=false) |
| virtual void * | get_native_buffer (device_ptr) |
| virtual void * | get_guiding_device () const |
Public Attributes | |
| list< SubDevice > | devices |
| device_ptr | unique_key = 1 |
| vector< vector< SubDevice * > > | peer_islands |
| Public Attributes inherited from Device | |
| DeviceInfo | info |
| Stats & | stats |
| Profiler & | profiler |
| bool | headless = true |
Additional Inherited Members | |
| Static Public Member Functions inherited from Device | |
| static const CPUKernels & | get_cpu_kernels () |
| static unique_ptr< Device > | create (const DeviceInfo &info, Stats &stats, Profiler &profiler, bool headless) |
| 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 (const uint device_type_mask=DEVICE_MASK_ALL) |
| static DeviceInfo | dummy_device (const string &error_msg="") |
| static string | device_capabilities (const uint device_type_mask=DEVICE_MASK_ALL) |
| static DeviceInfo | get_multi_device (const vector< DeviceInfo > &subdevices, const int threads, bool background) |
| static void | tag_update () |
| static void | free_memory () |
| Protected Member Functions inherited from Device | |
| Device (const DeviceInfo &info_, Stats &stats_, Profiler &profiler_, bool headless_) | |
| virtual device_ptr | mem_alloc_sub_ptr (device_memory &, size_t, size_t) |
| virtual void | mem_free_sub_ptr (device_ptr) |
| Protected Attributes inherited from Device | |
| string | error_msg |
Definition at line 21 of file device/multi/device.cpp.
|
inline |
Definition at line 34 of file device/multi/device.cpp.
References Device::create(), Device::Device(), MultiDevice::SubDevice::device, DEVICE_CPU, devices, Device::headless, Device::info, peer_islands, Device::profiler, Device::stats, MultiDevice::SubDevice::stats, DeviceInfo::type, and verify_hardware_raytracing().
Reimplemented from Device.
Definition at line 196 of file device/multi/device.cpp.
References assert, Geometry::bvh, BVHParams::bvh_layout, BVH_LAYOUT_BVH2, BVH_LAYOUT_EMBREE, BVH_LAYOUT_EMBREEGPU, BVH_LAYOUT_HIPRT, BVH_LAYOUT_METAL, BVH_LAYOUT_MULTI_EMBREEGPU, BVH_LAYOUT_MULTI_EMBREEGPU_EMBREE, BVH_LAYOUT_MULTI_HIPRT, BVH_LAYOUT_MULTI_HIPRT_EMBREE, BVH_LAYOUT_MULTI_METAL, BVH_LAYOUT_MULTI_METAL_EMBREE, BVH_LAYOUT_MULTI_OPTIX, BVH_LAYOUT_MULTI_OPTIX_EMBREE, BVH_LAYOUT_OPTIX, BVH::create(), DEVICE_HIP, DEVICE_METAL, DEVICE_ONEAPI, DEVICE_OPTIX, devices, BVH::geometry, i, BVH::objects, BVH::params, params, progress, refit(), and BVHMulti::sub_bvhs.
|
inlineoverridevirtual |
Implements Device.
Definition at line 545 of file device/multi/device.cpp.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 552 of file device/multi/device.cpp.
References Device::Device(), devices, and i.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 111 of file device/multi/device.cpp.
References devices, and Device::error_msg.
|
inline |
Definition at line 341 of file device/multi/device.cpp.
References find_matching_mem_device(), and MultiDevice::SubDevice::ptr_map.
|
inline |
Definition at line 308 of file device/multi/device.cpp.
References assert, 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 325 of file device/multi/device.cpp.
References assert, and MultiDevice::SubDevice::device.
Referenced by mem_alloc(), mem_copy_to(), mem_move_to_host(), and mem_zero().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 566 of file device/multi/device.cpp.
References Device::Device(), and devices.
|
inlineoverridevirtual |
Implements Device.
Definition at line 122 of file device/multi/device.cpp.
References BVH_LAYOUT_ALL, BVH_LAYOUT_EMBREE, BVH_LAYOUT_EMBREEGPU, BVH_LAYOUT_HIPRT, BVH_LAYOUT_METAL, BVH_LAYOUT_MULTI_EMBREEGPU, BVH_LAYOUT_MULTI_EMBREEGPU_EMBREE, BVH_LAYOUT_MULTI_HIPRT, BVH_LAYOUT_MULTI_HIPRT_EMBREE, BVH_LAYOUT_MULTI_METAL, BVH_LAYOUT_MULTI_METAL_EMBREE, BVH_LAYOUT_MULTI_OPTIX, BVH_LAYOUT_MULTI_OPTIX_EMBREE, BVH_LAYOUT_NONE, BVH_LAYOUT_OPTIX, and devices.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 288 of file device/multi/device.cpp.
References DEVICE_CPU, and devices.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 346 of file device/multi/device.cpp.
References DEVICE_CPU, devices, Device::host_alloc(), and size().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 357 of file device/multi/device.cpp.
References DEVICE_CPU, devices, Device::host_free(), and size().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 298 of file device/multi/device.cpp.
References Device::Device(), MultiDevice::SubDevice::device, devices, and find_matching_mem_device().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 454 of file device/multi/device.cpp.
References assert, Device::Device(), devices, and Device::is_shared().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 174 of file device/multi/device.cpp.
References devices.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 185 of file device/multi/device.cpp.
References devices.
|
inlineoverridevirtual |
Implements Device.
Definition at line 369 of file device/multi/device.cpp.
References assert, device_memory::device, MultiDevice::SubDevice::device, Device::device_memory, device_memory::device_pointer, device_memory::device_size, find_suitable_mem_device(), 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 470 of file device/multi/device.cpp.
References device_memory::device, MultiDevice::SubDevice::device, Device::device_memory, device_memory::device_pointer, devices, find_matching_mem_device(), i, MultiDevice::SubDevice::ptr_map, w(), and y.
|
inlineoverridevirtual |
Implements Device.
Definition at line 390 of file device/multi/device.cpp.
References device_memory::device, MultiDevice::SubDevice::device, Device::device_memory, device_memory::device_pointer, device_memory::device_size, find_suitable_mem_device(), MEM_GLOBAL, MEM_TEXTURE, peer_islands, MultiDevice::SubDevice::ptr_map, Device::stats, device_memory::type, and unique_key.
|
inlineoverridevirtual |
Implements Device.
Definition at line 514 of file device/multi/device.cpp.
References device_memory::device, MultiDevice::SubDevice::device, Device::device_memory, device_memory::device_pointer, device_memory::device_size, find_matching_mem_device(), MEM_TEXTURE, peer_islands, MultiDevice::SubDevice::ptr_map, Device::stats, and device_memory::type.
|
inlineoverridevirtual |
Implements Device.
Definition at line 420 of file device/multi/device.cpp.
References assert, device_memory::device, MultiDevice::SubDevice::device, Device::device_memory, device_memory::device_pointer, device_memory::device_size, find_suitable_mem_device(), MEM_GLOBAL, MEM_TEXTURE, peer_islands, MultiDevice::SubDevice::ptr_map, device_memory::shared_pointer, Device::stats, device_memory::type, and unique_key.
|
inlineoverridevirtual |
Implements Device.
Definition at line 493 of file device/multi/device.cpp.
References device_memory::device, MultiDevice::SubDevice::device, Device::device_memory, device_memory::device_pointer, device_memory::device_size, find_suitable_mem_device(), peer_islands, MultiDevice::SubDevice::ptr_map, Device::stats, and unique_key.
|
inline |
Definition at line 83 of file device/multi/device.cpp.
References DEVICE_CPU, Device::info, DeviceInfo::type, and DeviceInfo::use_hardware_raytracing.
Referenced by MultiDevice().
| list<SubDevice> MultiDevice::devices |
Definition at line 30 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(), host_alloc(), host_free(), is_resident(), is_shared(), load_kernels(), load_osl_kernels(), mem_copy_from(), and MultiDevice().
Definition at line 32 of file device/multi/device.cpp.
Referenced by find_matching_mem_device(), mem_alloc(), mem_copy_to(), mem_free(), mem_move_to_host(), mem_zero(), and MultiDevice().
| device_ptr MultiDevice::unique_key = 1 |
Definition at line 31 of file device/multi/device.cpp.
Referenced by mem_alloc(), mem_copy_to(), mem_move_to_host(), and mem_zero().