onnxruntime/winml/api/windows.ai.machinelearning.native.internal.idl
Ryan Lai 5ce675c3b9
Expose Onnxruntime Intra Op thread controls through WinML Native API (#4638)
* Register ILearningModelSessionOptionsNate interface

* Threading options exposed

* Add interrogator for Session options

* Add test

* Polish test

* PR comments

* Set intra op threads

* Add adapter api to grab intra op threads

* Add adapter test for getting intraop num threads

* Make ILearningModelSessionNative and update winml api test

* Make it required when building engine to set the intraop num threads

* Make test  more pretty

* Change naming of idl function

* Revert "Change naming of idl function"

This reverts commit c06916aa5bf94e3bf233ed281e508b935fc8638d.

* PR comment on naming

* Skip the test because it's influenced if it's built with openmp

Co-authored-by: Ryan Lai <ryalai96@gamil.com>
2020-07-30 17:55:26 -07:00

64 lines
No EOL
1.9 KiB
Text

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
import "oaidl.idl";
cpp_quote( "#include <winapifamily.h>" )
#pragma region Desktop Family
cpp_quote( "#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)" )
[uuid(fd7ae883-38f0-47e5-879c-5eb23336e507), object, local]
interface IMetacommandsController : IUnknown
{
HRESULT SetMetacommandsEnabled(
[in] boolean enabled);
};
[uuid(b42a6c5d-cf8b-4d1f-9375-0de92c0c9996), object, local]
interface IDeviceFenceValidator : IUnknown
{
boolean SharedHandleInitialized();
};
[uuid(259caa2f-44fd-4525-8102-e8a10012fb88), object, local]
interface ILearningModelStaticsNative : IUnknown
{
HRESULT Load(
[in, size_is(cchModelPath)] const wchar_t *modelPath,
[in] UINT32 cchModelPath,
IUnknown **model);
};
[uuid(0ccc204e-3424-42c9-a008-9e7f0756d647), object, local]
interface ILearningModelBindingNative : IUnknown
{
HRESULT Bind(
[in, size_is(cchName)] const wchar_t *name,
[in] UINT32 cchName,
IUnknown* value);
};
[uuid(871c531b-0eb1-4fb4-8c61-fbf9e6f8ba6b), object, local]
interface ILearningModelFeatureDescriptorNative : IUnknown
{
HRESULT GetName([out, size_is(, *cchName)] const wchar_t **name, [out] UINT32 *cchName);
HRESULT GetDescription([out, size_is(, *cchDescription)] const wchar_t **description, [out] UINT32 *cchDescription);
};
[uuid(9972a361-b185-40e2-b1bc-23a667d5fb97), object, local]
interface ILearningModelEvaluationResultNative : IUnknown
{
HRESULT GetOutput(
[in, size_is(cchName)] const wchar_t *name,
[in] UINT32 cchName,
[out] IUnknown ** result);
};
[uuid(e3d31c3d-ddce-4c8e-866b-22ee1a88c775), object, local]
interface ILearningModelSessionNative : IUnknown
{
HRESULT GetIntraOpNumThreads(UINT32* numThreads);
};
cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */")