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

Class to manage compute device initialization. More...

Public Member Functions

 DeviceRegistrar (const DeviceRegistrar &)=delete
 
DeviceRegistraroperator= (const DeviceRegistrar &)=delete
 

Static Public Member Functions

static DeviceRegistrarinstance ()
 Get the singleton instance of DeviceRegistrar.
 

Private Member Functions

 DeviceRegistrar ()=default
 

Static Private Member Functions

static void registerCpuDevices ()
 Register CPU device.
 
static void registerCudaDevices ()
 Register all available CUDA devices.
 
static void registerDevices ()
 Register all available compute devices.
 

Static Private Attributes

static bool is_initialized_ = false
 Flag indicating whether devices have been initialized.
 

Detailed Description

Class to manage compute device initialization.

This class provides a centralized mechanism for registering all available compute devices within the Mila framework. It follows a singleton pattern with lazy initialization to ensure devices are registered only once when needed.

Constructor & Destructor Documentation

◆ DeviceRegistrar() [1/2]

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

◆ DeviceRegistrar() [2/2]

Mila::Dnn::Compute::DeviceRegistrar::DeviceRegistrar ( )
privatedefault

Member Function Documentation

◆ instance()

static DeviceRegistrar & Mila::Dnn::Compute::DeviceRegistrar::instance ( )
inlinestatic

Get the singleton instance of DeviceRegistrar.

Returns
DeviceRegistrar& Reference to the singleton instance.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

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

◆ registerCpuDevices()

static void Mila::Dnn::Compute::DeviceRegistrar::registerCpuDevices ( )
inlinestaticprivate

Register CPU device.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ registerCudaDevices()

static void Mila::Dnn::Compute::DeviceRegistrar::registerCudaDevices ( )
inlinestaticprivate

Register all available CUDA devices.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ registerDevices()

static void Mila::Dnn::Compute::DeviceRegistrar::registerDevices ( )
inlinestaticprivate

Register all available compute devices.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ is_initialized_

bool Mila::Dnn::Compute::DeviceRegistrar::is_initialized_ = false
inlinestaticprivate

Flag indicating whether devices have been initialized.


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