mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-16 21:00:14 +00:00
* model building * fix build * winml adapter model building api * model building * make build * make build again * add model building with audio op * inplace and inorder fft * add ifft * works! * cleanup * add comments * switch to iterative rather than recursive and use parallelization * batched parallelization * fft->dft * cleanup * window functions * add melweightmatrix op * updates to make spectrogram test work * push latest * add onesided * cleanup * Clean up building apis and fix mel * cleanup * cleanup * naive stft * fix test output * middle c complete * 3 tones * cleanup * signal def new line * Add save functionality * Perf improvements, 10x improvement * cleanup * use bitreverse lookup table for performance * implement constant initializers for tensors * small changes * add matmul tests * merge issues * support add attribute * add tests for double data type windowfunctions and minor cleanup * stft onesided/and not tests * cleanup * cleanup * clean up * cleanup * remove threading attribute * forward declare orttypeinfo * warnings * fwd declare * fix warnings * 1 more warning * remove saving to e drive... * cleanup and fix stft test * add opset picker * small additions * add onnxruntime tests * add signed/unsigned * fix warning * fix warning * finish onnxruntime tests * make windows namespace build succeed * add experimental flag * add experimental api into nuget package * add experimental api build flag and add to windows ai nuget package * turn experimental for tests * add minimum opset version to new experimental domain * api cleanup * disable ms experimental ops test when --ms_experimental is not enabled * add macro behind flag * remove unused x * pr feedback Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
107 lines
No EOL
3.2 KiB
C++
107 lines
No EOL
3.2 KiB
C++
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
#include "pch.h"
|
|
|
|
#include "winml_adapter_c_api.h"
|
|
#include "winml_adapter_apis.h"
|
|
#include "core/session/ort_apis.h"
|
|
|
|
#include <core/providers/winml/winml_provider_factory.h>
|
|
#include <core/providers/cpu/cpu_provider_factory.h>
|
|
|
|
const OrtApi* GetVersion1Api();
|
|
|
|
namespace winmla = Windows::AI::MachineLearning::Adapter;
|
|
|
|
static constexpr WinmlAdapterApi winml_adapter_api_1 = {
|
|
// Schema override
|
|
&winmla::OverrideSchema,
|
|
|
|
// OrtEnv methods
|
|
&winmla::EnvConfigureCustomLoggerAndProfiler,
|
|
|
|
// OrtModel methods
|
|
&winmla::CreateModelFromPath,
|
|
&winmla::CreateModelFromData,
|
|
&winmla::CloneModel,
|
|
&winmla::ModelGetAuthor,
|
|
&winmla::ModelGetName,
|
|
&winmla::ModelGetDomain,
|
|
&winmla::ModelGetDescription,
|
|
&winmla::ModelGetVersion,
|
|
&winmla::ModelGetInputCount,
|
|
&winmla::ModelGetOutputCount,
|
|
&winmla::ModelGetInputName,
|
|
&winmla::ModelGetOutputName,
|
|
&winmla::ModelGetInputDescription,
|
|
&winmla::ModelGetOutputDescription,
|
|
&winmla::ModelGetInputTypeInfo,
|
|
&winmla::ModelGetOutputTypeInfo,
|
|
&winmla::ModelGetMetadataCount,
|
|
&winmla::ModelGetMetadata,
|
|
&winmla::ModelEnsureNoFloat16,
|
|
&winmla::SaveModel,
|
|
|
|
// OrtSessionOptions methods
|
|
&OrtSessionOptionsAppendExecutionProvider_CPU,
|
|
&winmla::OrtSessionOptionsAppendExecutionProviderEx_DML,
|
|
|
|
// OrtSession methods
|
|
&winmla::CreateSessionWithoutModel,
|
|
&winmla::SessionGetExecutionProvider,
|
|
&winmla::SessionInitialize,
|
|
&winmla::SessionRegisterGraphTransformers,
|
|
&winmla::SessionRegisterCustomRegistry,
|
|
&winmla::SessionLoadAndPurloinModel,
|
|
&winmla::SessionStartProfiling,
|
|
&winmla::SessionEndProfiling,
|
|
&winmla::SessionCopyOneInputAcrossDevices,
|
|
&winmla::SessionGetNumberOfIntraOpThreads,
|
|
&winmla::SessionGetNamedDimensionsOverrides,
|
|
|
|
// Dml methods (TODO need to figure out how these need to move to session somehow...)
|
|
&winmla::DmlExecutionProviderSetDefaultRoundingMode,
|
|
&winmla::DmlExecutionProviderFlushContext,
|
|
&winmla::DmlExecutionProviderReleaseCompletedReferences,
|
|
&winmla::DmlCreateGPUAllocationFromD3DResource,
|
|
&winmla::DmlFreeGPUAllocation,
|
|
&winmla::DmlGetD3D12ResourceFromAllocation,
|
|
&winmla::DmlCopyTensor,
|
|
|
|
&winmla::GetProviderMemoryInfo,
|
|
&winmla::GetProviderAllocator,
|
|
&winmla::FreeProviderAllocator,
|
|
&winmla::GetValueMemoryInfo,
|
|
|
|
&winmla::ExecutionProviderSync,
|
|
|
|
&winmla::CreateCustomRegistry,
|
|
|
|
&winmla::ValueGetDeviceId,
|
|
&winmla::SessionGetInputRequiredDeviceId,
|
|
|
|
&winmla::CreateTensorTypeInfo,
|
|
&winmla::CreateSequenceTypeInfo,
|
|
&winmla::CreateMapTypeInfo,
|
|
&winmla::CreateModel,
|
|
&winmla::ModelAddInput,
|
|
&winmla::ModelAddConstantInput,
|
|
&winmla::ModelAddOutput,
|
|
&winmla::ModelAddOperator,
|
|
&winmla::ModelGetOpsetVersion,
|
|
&winmla::OperatorGetNumInputs,
|
|
&winmla::OperatorGetInputName,
|
|
&winmla::OperatorGetNumOutputs,
|
|
&winmla::OperatorGetOutputName,
|
|
|
|
// Release
|
|
&winmla::ReleaseModel
|
|
};
|
|
|
|
const WinmlAdapterApi* ORT_API_CALL OrtGetWinMLAdapter(_In_ const OrtApi* ort_api) NO_EXCEPTION {
|
|
if (OrtApis::GetApi(2) == ort_api) {
|
|
return &winml_adapter_api_1;
|
|
}
|
|
|
|
return nullptr;
|
|
} |