Blender  V3.3
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
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 =0
 
virtual int num_sort_partition_elements () 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 ()
 

Public Attributes

Devicedevice
 

Protected Member Functions

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

Protected Attributes

DeviceKernelMask last_kernels_enqueued_
 
double last_sync_time_
 
map< DeviceKernelMask, doublestats_kernel_time_
 

Detailed Description

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

Constructor & Destructor Documentation

◆ ~DeviceQueue()

DeviceQueue::~DeviceQueue ( )
virtual

◆ DeviceQueue()

CCL_NAMESPACE_BEGIN DeviceQueue::DeviceQueue ( Device device)
explicitprotected

Definition at line 14 of file queue.cpp.

References DCHECK_NE, and device.

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 78 of file queue.cpp.

References device_kernel_mask_as_string(), and last_kernels_enqueued_.

◆ debug_enqueue()

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

◆ debug_init_execution()

void DeviceQueue::debug_init_execution ( )
protected

Definition at line 44 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

◆ graphics_interop_create()

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

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

References LOG.

◆ init_execution()

virtual void DeviceQueue::init_execution ( )
pure virtual

◆ num_concurrent_busy_states()

virtual int DeviceQueue::num_concurrent_busy_states ( ) 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 110 of file device/queue.h.

◆ synchronize()

virtual bool DeviceQueue::synchronize ( )
pure virtual

◆ zero_to_device()

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

Member Data Documentation

◆ device

Device* DeviceQueue::device

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

Referenced by DeviceQueue().

◆ last_kernels_enqueued_

DeviceKernelMask DeviceQueue::last_kernels_enqueued_
protected

◆ last_sync_time_

double DeviceQueue::last_sync_time_
protected

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

Referenced by debug_init_execution(), and debug_synchronize().

◆ stats_kernel_time_

map<DeviceKernelMask, double> DeviceQueue::stats_kernel_time_
protected

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

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


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