Mila
Deep Neural Network Library
Loading...
Searching...
No Matches
Mila::Dnn::Compute::ComputeResource Class Referenceexport

Abstract base class for compute resources. More...

Inheritance diagram for Mila::Dnn::Compute::ComputeResource:

Public Member Functions

 ComputeResource ()=default
 Default constructor.
 
 ComputeResource (ComputeResource &&)=delete
 Move constructor (deleted).
 
 ComputeResource (const ComputeResource &)=delete
 Copy constructor (deleted).
 
virtual ~ComputeResource ()=default
 Virtual destructor.
 
ComputeResourceoperator= (ComputeResource &&)=delete
 Move assignment operator (deleted).
 
ComputeResourceoperator= (const ComputeResource &)=delete
 Copy assignment operator (deleted).
 

Detailed Description

Abstract base class for compute resources.

The ComputeResource class serves as a non-copyable, non-movable base class for device-specific compute resource implementations (CPU, CUDA, etc.). It provides a common interface for managing computational resources required for neural network operations.

Derived classes like HostComputeResource and DeviceComputeResource typically extend this class to provide device-specific implementations that manage memory resources and other device capabilities.

Note
This class follows the RAII (Resource Acquisition Is Initialization) principle for resource management but delegates the actual resource handling to derived classes.
See also
HostComputeResource
DeviceComputeResource

Constructor & Destructor Documentation

◆ ComputeResource() [1/3]

Mila::Dnn::Compute::ComputeResource::ComputeResource ( )
default

Default constructor.

Creates an empty compute resource. Derived classes are responsible for initializing any specific resources they manage.

◆ ComputeResource() [2/3]

Mila::Dnn::Compute::ComputeResource::ComputeResource ( const ComputeResource )
delete

Copy constructor (deleted).

ComputeResource instances cannot be copied because they typically manage unique system resources.

◆ ComputeResource() [3/3]

Mila::Dnn::Compute::ComputeResource::ComputeResource ( ComputeResource &&  )
delete

Move constructor (deleted).

ComputeResource instances cannot be moved because they typically represent non-transferable system resources.

◆ ~ComputeResource()

virtual Mila::Dnn::Compute::ComputeResource::~ComputeResource ( )
virtualdefault

Virtual destructor.

Allows derived classes to properly clean up their resources.

Member Function Documentation

◆ operator=() [1/2]

ComputeResource & Mila::Dnn::Compute::ComputeResource::operator= ( ComputeResource &&  )
delete

Move assignment operator (deleted).

ComputeResource instances cannot be moved because they typically represent non-transferable system resources.

◆ operator=() [2/2]

ComputeResource & Mila::Dnn::Compute::ComputeResource::operator= ( const ComputeResource )
delete

Copy assignment operator (deleted).

ComputeResource instances cannot be copied because they typically manage unique system resources.


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