NVIDIA IndeX API nvidia_logo_transpbg.gif Up
ierror.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright 2023 NVIDIA Corporation. All rights reserved.
3 *****************************************************************************/
6
7#ifndef NVIDIA_INDEX_IERROR_H
8#define NVIDIA_INDEX_IERROR_H
9
10#include <mi/base/types.h>
11#include <mi/dice.h>
12#include <mi/base/interface_declare.h>
13
14namespace nv
15{
16namespace index
17{
18
26class IError :
27 public mi::base::Interface_declare<0x27d2eff4,0xcb29,0x4452,0x84,0x6e,0x4f,0xa7,0x9,0xa3,0x12,0x6c>
28{
29public:
36 virtual mi::base::Uuid get_error_uuid() const = 0;
37
44 virtual const char* get_error_string() const = 0;
45
51 virtual mi::Uint32 get_host_id() const = 0;
52
61 virtual mi::Uint32 get_device_id() const = 0;
62};
63
74 public mi::base::Interface_declare<0x565cc068,0xd7c9,0x4c3e,0x85,0x38,0x77,0xca,0x44,0x6b,0x23,0x65,
75 nv::index::IError>
76{
77public:
80 {
85 };
86
92 virtual mi::Size get_memory_available() const = 0;
93
99 virtual mi::Size get_memory_requested() const = 0;
100
105 virtual mi::Uint32 get_failure_hints() const = 0;
106};
107
114 public mi::base::Interface_declare<0x573349e3,0x5f5c,0x4951,0xab,0x97,0xc3,0xd1,0x13,0xcd,0xe7,0x2c,
115 nv::index::IOut_of_memory_error>
116{
117};
118
125 public mi::base::Interface_declare<0x5662d3ad,0x3311,0x49ca,0xb2,0xce,0x9e,0x93,0x67,0xad,0x68,0x86,
126 nv::index::IOut_of_memory_error>
127{
128};
129
144 public mi::base::Interface_declare<0x9db4beec,0x1d8c,0x4a5f,0x86,0x14,0xd6,0x7c,0x9d,0xa1,0x98,0x5d,
145 nv::index::IError>
146{
147};
148
155 public mi::base::Interface_declare<0x6565399f,0x99ea,0x480f,0xb4,0x44,0x49,0xdc,0xc0,0x8f,0x96,0x87,
156 nv::index::IError>
157{
158};
159
167 public mi::base::Interface_declare<0x5edf4263,0x4f89,0x42de,0xa3,0xf8,0xae,0x4f,0x1e,0xf0,0x75,0x58>
168{
169public:
175 virtual bool any_errors() const = 0;
176
181 virtual mi::Uint32 get_nb_errors() const = 0;
182
193 virtual IError* get_error(mi::Uint32 idx) const = 0;
194};
195
196}} // namespace index / nv
197
198#endif // NVIDIA_INDEX_IERROR_H
This error interface specialization indicates a failure to execute a GPU-device kernel at runtime.
Definition: ierror.h:146
This class specializes the generic out-of-memory error interface (IOut_of_memory_error) to indicate t...
Definition: ierror.h:127
This class serves as a collection of runtime errors potentially generated during the execution of dis...
Definition: ierror.h:168
virtual bool any_errors() const =0
This method allows for an quick and easy check if the returning NVIDIA IndeX call was successful or f...
virtual mi::Uint32 get_nb_errors() const =0
Returns the number of error interface instances contained in the error set.
virtual IError * get_error(mi::Uint32 idx) const =0
Allows access to single instances of IError interfaces contained in the error set.
The base class of all errors generated by NVIDIA IndeX.
Definition: ierror.h:28
virtual mi::Uint32 get_device_id() const =0
Returns the device ID of the GPU device on a specific cluster machine causing the generation of the r...
virtual mi::base::Uuid get_error_uuid() const =0
Returns the interface ID corresponding to the actual derived error class.
virtual mi::Uint32 get_host_id() const =0
Returns the host ID of the cluster machine causing the generation of the runtime error.
virtual const char * get_error_string() const =0
Returns a descriptive string detailing the error type and possible causes for the failure.
This class specializes the generic out-of-memory error interface (IOut_of_memory_error) to indicate t...
Definition: ierror.h:116
The base class for out-of-memory errors generated by NVIDIA IndeX.
Definition: ierror.h:76
virtual mi::Uint32 get_failure_hints() const =0
Returns a bitmask describing potential reasons of the memory allocation failure.
Failure_hint
Failure codes that describe the potential issue.
Definition: ierror.h:80
@ OOM_FAIL_INVALID_ALLOC_REQUEST
! Denotes invalid allocation request.
Definition: ierror.h:82
@ OOM_FAIL_HINT_NONE
! Unknown issue.
Definition: ierror.h:81
@ OOM_FAIL_INSUFFICIENT_DYNAMIC_RESOURCES
! Denoted insufficient memory resources for dynamic memory management.
Definition: ierror.h:84
@ OOM_FAIL_FRAGMENTED_MEMORY
! Denotes fragmented memory.
Definition: ierror.h:83
virtual mi::Size get_memory_requested() const =0
Returns the amount of memory requested from the specific memory system (i.e.
virtual mi::Size get_memory_available() const =0
Returns the amount of memory available on the specific memory system (i.e.
This error interface specialization indicates general runtime failures.
Definition: ierror.h:157
Common namespace for all NVIDIA APIs.
Definition: iindex.h:349