-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: use nightly release build for onnxruntime
- Loading branch information
Showing
13 changed files
with
11,541 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
19 changes: 19 additions & 0 deletions
19
third-party/onnxruntime-b04adc/include/cpu_provider_factory.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// Licensed under the MIT License. | ||
|
||
#include "onnxruntime_c_api.h" | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
/** | ||
* \param use_arena zero: false. non-zero: true. | ||
*/ | ||
ORT_EXPORT | ||
ORT_API_STATUS(OrtSessionOptionsAppendExecutionProvider_CPU, _In_ OrtSessionOptions* options, int use_arena) | ||
ORT_ALL_ARGS_NONNULL; | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif |
158 changes: 158 additions & 0 deletions
158
third-party/onnxruntime-b04adc/include/dml_provider_factory.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,158 @@ | ||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// Licensed under the MIT License. | ||
|
||
#pragma once | ||
|
||
#pragma warning(push) | ||
#pragma warning(disable : 4201) // nonstandard extension used: nameless struct/union | ||
#ifdef _GAMING_XBOX_SCARLETT | ||
#include <d3d12_xs.h> | ||
#elif defined(_GAMING_XBOX_XBOXONE) | ||
#include <d3d12_x.h> | ||
#else | ||
#include <d3d12.h> | ||
#endif | ||
#pragma warning(pop) | ||
|
||
#ifdef __cplusplus | ||
#include <DirectML.h> | ||
#else | ||
struct IDMLDevice; | ||
typedef struct IDMLDevice IDMLDevice; | ||
#endif | ||
|
||
// Windows pollutes the macro space, causing a build break in constants.h. | ||
#undef OPTIONAL | ||
|
||
#include "onnxruntime_c_api.h" | ||
|
||
#ifdef __cplusplus | ||
|
||
extern "C" { | ||
|
||
enum OrtDmlDeviceFilter : uint32_t { | ||
#ifdef ENABLE_NPU_ADAPTER_ENUMERATION | ||
Any = 0xffffffff, | ||
Gpu = 1 << 0, | ||
Npu = 1 << 1, | ||
#else | ||
Gpu = 1 << 0, | ||
#endif | ||
}; | ||
|
||
inline OrtDmlDeviceFilter operator~(OrtDmlDeviceFilter a) { return (OrtDmlDeviceFilter) ~(int)a; } | ||
inline OrtDmlDeviceFilter operator|(OrtDmlDeviceFilter a, OrtDmlDeviceFilter b) { return (OrtDmlDeviceFilter)((int)a | (int)b); } | ||
inline OrtDmlDeviceFilter operator&(OrtDmlDeviceFilter a, OrtDmlDeviceFilter b) { return (OrtDmlDeviceFilter)((int)a & (int)b); } | ||
inline OrtDmlDeviceFilter operator^(OrtDmlDeviceFilter a, OrtDmlDeviceFilter b) { return (OrtDmlDeviceFilter)((int)a ^ (int)b); } | ||
inline OrtDmlDeviceFilter& operator|=(OrtDmlDeviceFilter& a, OrtDmlDeviceFilter b) { return (OrtDmlDeviceFilter&)((int&)a |= (int)b); } | ||
inline OrtDmlDeviceFilter& operator&=(OrtDmlDeviceFilter& a, OrtDmlDeviceFilter b) { return (OrtDmlDeviceFilter&)((int&)a &= (int)b); } | ||
inline OrtDmlDeviceFilter& operator^=(OrtDmlDeviceFilter& a, OrtDmlDeviceFilter b) { return (OrtDmlDeviceFilter&)((int&)a ^= (int)b); } | ||
|
||
#else | ||
|
||
typedef enum OrtDmlDeviceFilter { | ||
#ifdef ENABLE_NPU_ADAPTER_ENUMERATION | ||
Any = 0xffffffff, | ||
Gpu = 1 << 0, | ||
Npu = 1 << 1, | ||
#else | ||
Gpu = 1 << 0, | ||
#endif | ||
} OrtDmlDeviceFilter; | ||
|
||
#endif | ||
|
||
typedef enum OrtDmlPerformancePreference { | ||
Default = 0, | ||
HighPerformance = 1, | ||
MinimumPower = 2 | ||
} OrtDmlPerformancePreference; | ||
|
||
struct OrtDmlDeviceOptions { | ||
OrtDmlPerformancePreference Preference; | ||
OrtDmlDeviceFilter Filter; | ||
}; | ||
|
||
typedef struct OrtDmlDeviceOptions OrtDmlDeviceOptions; | ||
|
||
/** | ||
* [[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(OrtSessionOptionsAppendExecutionProvider_DML, _In_ OrtSessionOptions* options, int device_id); | ||
|
||
/** | ||
* [[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 | ||
*/ | ||
ORT_API_STATUS(OrtSessionOptionsAppendExecutionProviderEx_DML, _In_ OrtSessionOptions* options, | ||
_In_ IDMLDevice* dml_device, _In_ ID3D12CommandQueue* cmd_queue); | ||
|
||
struct OrtDmlApi; | ||
typedef struct OrtDmlApi OrtDmlApi; | ||
|
||
struct OrtDmlApi { | ||
/** | ||
* 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_API2_STATUS(SessionOptionsAppendExecutionProvider_DML, _In_ OrtSessionOptions* options, int device_id); | ||
|
||
/** | ||
* 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 | ||
*/ | ||
ORT_API2_STATUS(SessionOptionsAppendExecutionProvider_DML1, _In_ OrtSessionOptions* options, | ||
_In_ IDMLDevice* dml_device, _In_ ID3D12CommandQueue* cmd_queue); | ||
|
||
/** | ||
* CreateGPUAllocationFromD3DResource | ||
* This API creates a DML EP resource based on a user-specified D3D12 resource. | ||
*/ | ||
ORT_API2_STATUS(CreateGPUAllocationFromD3DResource, _In_ ID3D12Resource* d3d_resource, _Out_ void** dml_resource); | ||
|
||
/** | ||
* FreeGPUAllocation | ||
* This API frees the DML EP resource created by CreateGPUAllocationFromD3DResource. | ||
*/ | ||
ORT_API2_STATUS(FreeGPUAllocation, _In_ void* dml_resource); | ||
|
||
/** | ||
* GetD3D12ResourceFromAllocation | ||
* This API gets the D3D12 resource when an OrtValue has been allocated by the DML EP. | ||
*/ | ||
ORT_API2_STATUS(GetD3D12ResourceFromAllocation, _In_ OrtAllocator* provider, _In_ void* dml_resource, _Out_ ID3D12Resource** d3d_resource); | ||
|
||
/** | ||
* SessionOptionsAppendExecutionProvider_DML2 | ||
* Creates a DirectML Execution Provider given the supplied device options that contain a performance preference | ||
* (high power, low power, or default) and a device filter (None, GPU, or NPU). | ||
*/ | ||
ORT_API2_STATUS(SessionOptionsAppendExecutionProvider_DML2, _In_ OrtSessionOptions* options, OrtDmlDeviceOptions* device_opts); | ||
}; | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif |
Oops, something went wrong.