NVIDIA NvNeural SDK  2022.2
GPU inference framework for NVIDIA Nsight Deep Learning Designer
nvneural::IBackendDeviceIdentifier Class Referenceabstract

IBackendDeviceIdentifier is an opaque identifier for an active GPU. More...

#include <nvneural/CoreTypes.h>

Inheritance diagram for nvneural::IBackendDeviceIdentifier:
nvneural::IRefObject

Public Member Functions

virtual NeuralResult getDeviceIdentifiers (std::uint64_t *pUuidLow, std::uint64_t *pUuidHigh) const noexcept=0
 Retrieves a pair of values that uniquely identify this GPU on the local system. More...
 
virtual const char * getDeviceName () const noexcept=0
 Retrieves the name of this GPU. More...
 
- Public Member Functions inherited from nvneural::IRefObject
virtual RefCount addRef () const noexcept=0
 Increments the object's reference count. More...
 
virtual const void * queryInterface (TypeId interface) const noexcept=0
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
virtual void * queryInterface (TypeId interface) noexcept=0
 Retrieves a new object interface pointer. More...
 
virtual RefCount release () const noexcept=0
 Decrements the object's reference count and destroy the object if the reference count reaches zero. More...
 

Static Public Attributes

static const IRefObject::TypeId typeID = 0xf78683bf5a3d24a9ul
 Interface TypeId for InterfaceOf purposes.
 
- Static Public Attributes inherited from nvneural::IRefObject
static const TypeId typeID = 0x14ecc3f9de638e1dul
 Interface TypeId for InterfaceOf purposes.
 

Additional Inherited Members

- Public Types inherited from nvneural::IRefObject
using RefCount = std::uint32_t
 Typedef used to track the number of active references to an object.
 
using TypeId = std::uint64_t
 Every interface must define a unique TypeId. This should be randomized.
 
- Protected Member Functions inherited from nvneural::IRefObject
virtual ~IRefObject ()=default
 A protected destructor prevents accidental stack-allocation of IRefObjects or use with other smart pointer classes like std::unique_ptr.
 

Detailed Description

IBackendDeviceIdentifier is an opaque identifier for an active GPU.

This interface contains enough information for one backend to identify the GPU used by another backend in this process. It is not intended for serialization and may not be stable across reboots.

Member Function Documentation

◆ getDeviceIdentifiers()

virtual NeuralResult nvneural::IBackendDeviceIdentifier::getDeviceIdentifiers ( std::uint64_t *  pUuidLow,
std::uint64_t *  pUuidHigh 
) const
pure virtualnoexcept

Retrieves a pair of values that uniquely identify this GPU on the local system.

Parameters
pUuidLowPointer to a variable receiving the lower 64 bits of the device identifier
pUuidHighPointer to a variable receiving the upper 64 bits of the device identifier

◆ getDeviceName()

virtual const char* nvneural::IBackendDeviceIdentifier::getDeviceName ( ) const
pure virtualnoexcept

Retrieves the name of this GPU.

The pointer returned is valid for the lifespan of this object.

Returns
Pointer to a null-terminated UTF-8 string describing this GPU.

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