HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dml_provider_factory.h File Reference
#include <d3d12.h>
#include "onnxruntime_c_api.h"
+ Include dependency graph for dml_provider_factory.h:

Go to the source code of this file.

Classes

struct  OrtDmlDeviceOptions
 
struct  OrtDmlApi
 

Typedefs

typedef struct IDMLDevice IDMLDevice
 
typedef struct OrtDmlApi OrtDmlApi
 

Enumerations

enum  OrtDmlPerformancePreference { Default = 0, HighPerformance = 1, MinimumPower = 2 }
 
enum  OrtDmlDeviceFilter : uint32_t { Gpu = 1 << 0 }
 

Functions

OrtDmlDeviceFilter operator~ (OrtDmlDeviceFilter a)
 
OrtDmlDeviceFilter operator| (OrtDmlDeviceFilter a, OrtDmlDeviceFilter b)
 
OrtDmlDeviceFilter operator& (OrtDmlDeviceFilter a, OrtDmlDeviceFilter b)
 
OrtDmlDeviceFilter operator^ (OrtDmlDeviceFilter a, OrtDmlDeviceFilter b)
 
OrtDmlDeviceFilteroperator|= (OrtDmlDeviceFilter &a, OrtDmlDeviceFilter b)
 
OrtDmlDeviceFilteroperator&= (OrtDmlDeviceFilter &a, OrtDmlDeviceFilter b)
 
OrtDmlDeviceFilteroperator^= (OrtDmlDeviceFilter &a, OrtDmlDeviceFilter b)
 
 ORT_API_STATUS (OrtSessionOptionsAppendExecutionProvider_DML, _In_ OrtSessionOptions *options, int device_id)
 
 ORT_API_STATUS (OrtSessionOptionsAppendExecutionProviderEx_DML, _In_ OrtSessionOptions *options, _In_ IDMLDevice *dml_device, _In_ ID3D12CommandQueue *cmd_queue)
 

Typedef Documentation

typedef struct IDMLDevice IDMLDevice

Definition at line 21 of file dml_provider_factory.h.

typedef struct OrtDmlApi OrtDmlApi

Definition at line 91 of file dml_provider_factory.h.

Enumeration Type Documentation

enum OrtDmlDeviceFilter : uint32_t
Enumerator
Gpu 

Definition at line 39 of file dml_provider_factory.h.

Enumerator
Default 
HighPerformance 
MinimumPower 

Definition at line 33 of file dml_provider_factory.h.

Function Documentation

OrtDmlDeviceFilter operator& ( OrtDmlDeviceFilter  a,
OrtDmlDeviceFilter  b 
)
inline

Definition at line 51 of file dml_provider_factory.h.

OrtDmlDeviceFilter& operator&= ( OrtDmlDeviceFilter a,
OrtDmlDeviceFilter  b 
)
inline

Definition at line 54 of file dml_provider_factory.h.

OrtDmlDeviceFilter operator^ ( OrtDmlDeviceFilter  a,
OrtDmlDeviceFilter  b 
)
inline

Definition at line 52 of file dml_provider_factory.h.

OrtDmlDeviceFilter& operator^= ( OrtDmlDeviceFilter a,
OrtDmlDeviceFilter  b 
)
inline

Definition at line 55 of file dml_provider_factory.h.

OrtDmlDeviceFilter operator| ( OrtDmlDeviceFilter  a,
OrtDmlDeviceFilter  b 
)
inline

Definition at line 50 of file dml_provider_factory.h.

OrtDmlDeviceFilter& operator|= ( OrtDmlDeviceFilter a,
OrtDmlDeviceFilter  b 
)
inline

Definition at line 53 of file dml_provider_factory.h.

OrtDmlDeviceFilter operator~ ( OrtDmlDeviceFilter  a)
inline

Definition at line 49 of file dml_provider_factory.h.

ORT_API_STATUS ( OrtSessionOptionsAppendExecutionProvider_DML  ,
_In_ OrtSessionOptions *  options,
int  device_id 
)

[[deprecated]] This export is deprecated. The OrtSessionOptionsAppendExecutionProvider_DML export on the OrtDmlApi should be used instead.

Creates a DirectML Execution Provider which executes on the hardware adapter with the given device_id, also known as the adapter index. The device ID corresponds to the enumeration order of hardware adapters as given by IDXGIFactory::EnumAdapters. A device_id of 0 always corresponds to the default adapter, which is typically the primary display GPU installed on the system. A negative device_id is invalid.

ORT_API_STATUS ( OrtSessionOptionsAppendExecutionProviderEx_DML  ,
_In_ OrtSessionOptions *  options,
_In_ IDMLDevice dml_device,
_In_ ID3D12CommandQueue *  cmd_queue 
)

[[deprecated]] This export is deprecated. The OrtSessionOptionsAppendExecutionProvider_DML1 export on the OrtDmlApi should be used instead.

Creates a DirectML Execution Provider using the given DirectML device, and which executes work on the supplied D3D12 command queue. The DirectML device and D3D12 command queue must have the same parent ID3D12Device, or an error will be returned. The D3D12 command queue must be of type DIRECT or COMPUTE (see D3D12_COMMAND_LIST_TYPE). If this function succeeds, the inference session maintains a strong reference on both the dml_device and the command_queue objects. See also: DMLCreateDevice See also: ID3D12Device::CreateCommandQueue