Blender V4.3
DeviceQueue Class Referenceabstract

#include <queue.h>

Public Member Functions

virtual ~DeviceQueue ()
virtual int num_concurrent_states (const size_t state_size) const =0
virtual int num_concurrent_busy_states (const size_t state_size) const =0
virtual int num_sort_partition_elements () const
virtual bool supports_local_atomic_sort () const
virtual void init_execution ()=0
virtual bool enqueue (DeviceKernel kernel, const int work_size, DeviceKernelArguments const &args)=0
virtual bool synchronize ()=0
virtual void zero_to_device (device_memory &mem)=0
virtual void copy_to_device (device_memory &mem)=0
virtual void copy_from_device (device_memory &mem)=0
virtual unique_ptr< DeviceGraphicsInteropgraphics_interop_create ()
virtual void * native_queue ()

Public Attributes

Devicedevice

Protected Member Functions

 DeviceQueue (Device *device)
void debug_init_execution ()
void debug_enqueue_begin (DeviceKernel kernel, const int work_size)
void debug_enqueue_end ()
void debug_synchronize ()
string debug_active_kernels ()

Protected Attributes

DeviceKernelMask last_kernels_enqueued_
double last_sync_time_
map< DeviceKernelMask, doublestats_kernel_time_
bool is_per_kernel_performance_

Detailed Description

Definition at line 90 of file device/queue.h.

Constructor & Destructor Documentation

◆ ~DeviceQueue()

DeviceQueue::~DeviceQueue ( )
virtual

◆ DeviceQueue()

CCL_NAMESPACE_BEGIN DeviceQueue::DeviceQueue ( Device * device)
explicitprotected

Member Function Documentation

◆ copy_from_device()

virtual void DeviceQueue::copy_from_device ( device_memory & mem)
pure virtual

◆ copy_to_device()

virtual void DeviceQueue::copy_to_device ( device_memory & mem)
pure virtual

◆ debug_active_kernels()

string DeviceQueue::debug_active_kernels ( )
protected

Definition at line 101 of file queue.cpp.

References device_kernel_mask_as_string(), and last_kernels_enqueued_.

◆ debug_enqueue_begin()

void DeviceQueue::debug_enqueue_begin ( DeviceKernel kernel,
const int work_size )
protected

◆ debug_enqueue_end()

void DeviceQueue::debug_enqueue_end ( )
protected

Definition at line 75 of file queue.cpp.

References is_per_kernel_performance_, synchronize(), and VLOG_DEVICE_STATS_IS_ON.

◆ debug_init_execution()

void DeviceQueue::debug_init_execution ( )
protected

Definition at line 56 of file queue.cpp.

References last_kernels_enqueued_, last_sync_time_, time_dt(), and VLOG_DEVICE_STATS_IS_ON.

◆ debug_synchronize()

void DeviceQueue::debug_synchronize ( )
protected

◆ enqueue()

virtual bool DeviceQueue::enqueue ( DeviceKernel kernel,
const int work_size,
DeviceKernelArguments const & args )
pure virtual

References work_size.

◆ graphics_interop_create()

virtual unique_ptr< DeviceGraphicsInterop > DeviceQueue::graphics_interop_create ( )
inlinevirtual

Definition at line 152 of file device/queue.h.

References LOG.

◆ init_execution()

virtual void DeviceQueue::init_execution ( )
pure virtual

◆ native_queue()

virtual void * DeviceQueue::native_queue ( )
inlinevirtual

Definition at line 161 of file device/queue.h.

◆ num_concurrent_busy_states()

virtual int DeviceQueue::num_concurrent_busy_states ( const size_t state_size) const
pure virtual

◆ num_concurrent_states()

virtual int DeviceQueue::num_concurrent_states ( const size_t state_size) const
pure virtual

◆ num_sort_partition_elements()

virtual int DeviceQueue::num_sort_partition_elements ( ) const
inlinevirtual

Definition at line 105 of file device/queue.h.

◆ supports_local_atomic_sort()

virtual bool DeviceQueue::supports_local_atomic_sort ( ) const
inlinevirtual

Definition at line 112 of file device/queue.h.

◆ synchronize()

virtual bool DeviceQueue::synchronize ( )
pure virtual

Referenced by debug_enqueue_end().

◆ zero_to_device()

virtual void DeviceQueue::zero_to_device ( device_memory & mem)
pure virtual

Member Data Documentation

◆ device

Device* DeviceQueue::device

Definition at line 159 of file device/queue.h.

Referenced by DeviceQueue().

◆ is_per_kernel_performance_

bool DeviceQueue::is_per_kernel_performance_
protected

Definition at line 185 of file device/queue.h.

Referenced by debug_enqueue_end(), DeviceQueue(), and ~DeviceQueue().

◆ last_kernels_enqueued_

DeviceKernelMask DeviceQueue::last_kernels_enqueued_
protected

◆ last_sync_time_

double DeviceQueue::last_sync_time_
protected

Definition at line 180 of file device/queue.h.

Referenced by debug_init_execution(), debug_synchronize(), and DeviceQueue().

◆ stats_kernel_time_

map<DeviceKernelMask, double> DeviceQueue::stats_kernel_time_
protected

Definition at line 182 of file device/queue.h.

Referenced by debug_synchronize(), and ~DeviceQueue().


The documentation for this class was generated from the following files: