Commit graph

269 commits

Author SHA1 Message Date
Tiago Koji Castro Shibata
20b9390d1d Merged PR 6524907: Fix merge conflicts from public ORT to WindowsAI ORT 2021-10-01 22:47:52 +00:00
Sheil Kumar
c6cb49c5a1
DirectML.dll load fails when executable path contains Non-English characters (#9229)
* enable unicode dml

* add wide string L prefix

* Add Fail Fast back

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-09-30 15:16:57 -07:00
Sheil Kumar
775f862067
Add new option to disable cpu sync for tensors (#8490)
* add options to disable cpu copy back

* null check proprties

* only affect gpu outputs

* change name to disabletensorcpusync

* slight refactoring

* Globally enable ms-experimental ops

* change meaning of ms_experimental to mean *all* ms_experimental ops. Some experimental ops will still be enabled globally without this flag like audio ops.

* remove changes incorrectly merged

* bad merge

* add test

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-08-27 13:29:52 -07:00
Tiago Koji Castro Shibata
62c0d24340
Fix Windows Store build (#8753)
* Remove APIs unavailable in Store in #8349, #8178, #8065

* Add UWP stubs of C runtime functions

* Remove UWP incompatible tests from UWP build

* Remove incompatible tests from Store

* Use UWP stubs in store only

* Skip partition check outside of Windows

* Remove unused WRL include

* Workaround Windows header not including what it uses

* Fix precompiled header name clash

* Workaround SDK bugs

* DXCore workaround in Win7

* Fix warning

* Fix more warnings

* Bump WinML to target Windows 8

* Fix more warnings

* Remove unnecessary workarounds

* Remove Desktop only APIs from DML adapter
2021-08-23 11:19:03 -07:00
Changming Sun
436ac6dd5f
Rename ml_value.h to ort_value.h (#8726) 2021-08-13 07:04:56 -07:00
Adrian Tsai
caacf249c5
Disable candy_opset9 WinML model test on Qualcomm Adreno (#8647)
Bug #31652854 also repros on Qualcomm Adreno (down to the exact same pixel). This change disables this model test for Qualcomm, in addition to the existing disablement for Intel.
2021-08-11 17:57:12 -07:00
ytaous
0725f80d2d
Revert "Fix Windows Store build (#8481)" (#8679)
This reverts commit 53e7831b53.
2021-08-11 00:37:36 -07:00
Tiago Koji Castro Shibata
53e7831b53
Fix Windows Store build (#8481)
* Remove APIs unavailable in Store in #8349, #8178, #8065

* Add UWP stubs of C runtime functions

* Remove UWP incompatible tests from UWP build

* Remove incompatible tests from Store

* Use UWP stubs in store only

* Skip partition check outside of Windows

* Remove unused WRL include

* Workaround Windows header not including what it uses

* Fix precompiled header name clash

* Workaround SDK bugs

* DXCore workaround in Win7

* Fix warning

* Fix more warnings

* Bump WinML to target Windows 8

* Fix more warnings

* Remove unnecessary workarounds
2021-08-10 15:19:30 -07:00
Ryan Lai
d78568a9ac Merge remote-tracking branch 'upstream/master' into HEAD 2021-07-29 13:24:11 -07:00
Xiang Zhang
778680202b remove unused functions to avoid warnings 2021-07-28 18:03:00 -07:00
Xiang Zhang
73660d78df
Fix WinML build warnings in HStringFromUTF8 (#8519) 2021-07-27 22:29:58 -07:00
Ryan Lai
b0c0b087a4 FIx merge conflict 2021-07-21 14:02:18 -07:00
Sheil Kumar
c3129306e5
Enable string attributes for experimental model building (#8428)
* string attributes

* Update error message

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-07-19 11:48:41 -07:00
Sheil Kumar
eec8e1394a
Memory map files on windows to speed up model load (#8349)
* Memory map files on windows to speed up model load

* fix custom ops

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-07-12 11:52:08 -07:00
Ryan Lai
839f69d249
Implement WINRT_IMPL_LoadLibraryW to avoid calling LoadLibraryW directly (#8065)
* Override load library w in cppwinrt

* Add comment
2021-06-22 14:31:20 -07:00
Ryan Lai
de1b1edcad Merge remote-tracking branch 'upstream/master' into HEAD 2021-06-15 09:39:26 -07:00
sumitsays
43c45ddd66
Update DirectML EP changes from DmlDev as of 2021-06-07 (#7987)
* Merged PR 6093117: Fix test_DynamicQuantizedLinear_max_adjusted_expanded by allowing Identity operator to run on non-float inputs

Motivation:
As part of the OnnxConformance Backend tests, DynamicQuantizedLinear_max_adjusted_expanded is failing.

Root Cause:
- The test model has `Identity` operator as one of the node. The input of this node is of non-float data type.
- In DML, `Identity` operator is registered as operator which requires floating input.
- As per `DirectMLSchema.h`, support for non-float input has been added for `Identity` operator in DML but the same has not been reflected in the `OperatorRegistration.cpp`.

Changes:
- Removed all traces of the requiresFloatFormatsForGraph flag from it's definition and usage. This flag was only used for Identity and it's related operator.
- Added null check for the graphOutput nodeArg in GraphDescBuilder.cpp to stop the crash of the test.

Related work items: #33076298

* Merged PR 6103324: Remove usage of non-generic error code (FWP_E_NULL_POINTER)

Motivation:
Addressing Dwayne comment on the previous PR. [Ref: [6093117](https://dev.azure.com/microsoft/WindowsAI/_git/onnxruntime/pullrequest/6093117?discussionId=44292162&path=%2Fonnxruntime%2Fcore%2Fproviders%2Fdml%2FDmlExecutionProvider%2Fsrc%2FGraphPartitioner.cpp)]

Changes:
Inside the DML EP, we should not use some other platform specific error codes. Instead we should a appropriate generic error code.

Related work items: #33076298

Co-authored-by: Sumit Agarwal <sumitagarwal@microsoft.com>
2021-06-11 11:09:48 -07:00
Dwayne Robinson
8b0c2e1f3d Merged PR 6101363: Int64 prototype work for ONNX runtime DML EP
Add `support64BitTensorsViaEmulation` to the internal registration info, that informs the graph partitioner that int64 is supported via emulation, even if the device doesn't support it natively.

See further description in the corresponding WindowsAI DML PR:
https://dev.azure.com/microsoft/WindowsAI/_git/WindowsAI/pullrequest/6101182

Note a later PR will most likely *delete* this newly added flag and simplify much of the existing logic, even deleting the strides hack completely ^__^...

Related work items: #28761231
2021-06-11 07:54:30 +00:00
Tiago Koji Castro Shibata
fc331cbd5d
Accept success codes other than S_OK in RoInitialize (#7979)
* Accept success codes other than S_OK in RoInitialize

* Use multithreaded apartment in raw WinML tests
2021-06-07 18:06:31 -07:00
Ryan Lai
64f1a4ed22 Merge remote-tracking branch 'upstream/master' into HEAD 2021-06-04 15:58:15 -07:00
Billy Franscois
0e935b8718
Fix typo (#7872)
Co-authored-by: Thiago Crepaldi <thiago.crepaldi@microsoft.com>
2021-06-02 10:39:23 -07:00
Sumit Agarwal
3f43a84e10 Merged PR 6093117: Fix test_DynamicQuantizedLinear_max_adjusted_expanded by allowing Identity operator to run on non-float inputs
Motivation:
As part of the OnnxConformance Backend tests, DynamicQuantizedLinear_max_adjusted_expanded is failing.

Root Cause:
- The test model has `Identity` operator as one of the node. The input of this node is of non-float data type.
- In DML, `Identity` operator is registered as operator which requires floating input.
- As per `DirectMLSchema.h`, support for non-float input has been added for `Identity` operator in DML but the same has not been reflected in the `OperatorRegistration.cpp`.

Changes:
- Removed all traces of the requiresFloatFormatsForGraph flag from it's definition and usage. This flag was only used for Identity and it's related operator.
- Added null check for the graphOutput nodeArg in GraphDescBuilder.cpp to stop the crash of the test.

Related work items: #33076298
2021-05-28 17:44:37 +00:00
Sheil Kumar
bd5067a2ff
Cannot upgrade SDK version because winml_lib_telemetry pulls in SDK cppwinrt version (#7795)
* fix telemetry includes

* add dependencies

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-05-24 08:00:24 -07:00
Hariharan Seshadri
4b691a5c0d
Add ability for memory arenas to "shrink" periodically (#7284) 2021-05-08 07:53:21 -07:00
sumitsays
e344a583b0
updated sampleTolerance of model fp16_inception_v1 for GPU execution provider (#7533)
Co-authored-by: Sumit Agarwal <sumitagarwal@microsoft.com>
2021-05-03 12:08:31 -07:00
Sheil Kumar
8e3cdf0452
Use unicode apis for loadlibrary (#7523)
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-05-03 07:24:40 -07:00
Ori Levari
dfca1a09d5
Add Thread Spinning Session Option in WinML (#7498)
Co-authored-by: Ori Levari <orlevari@microsoft.com>
2021-04-30 11:44:58 -07:00
Adrian Tsai
70e67ddd2b
Update DirectML version to 1.5.1 and enable ARM/ARM64 builds with DML (#7511)
* Update DirectML to version 1.5.1
* Enable --use_dml with ARM and ARM64
* Add ARM/ARM64 binaries to nuget packages
2021-04-30 00:49:30 -07:00
Changming Sun
1012535dab
Change onnxruntime::make_unique to std::make_unique (#7502)
1. Change onnxruntime::make_unique to std::make_unique
2. Add "-std=c++14" to ROCM EP's build flags.
2021-04-29 17:04:53 -07:00
Adrian Tsai
f13b378995
Re-disable tests (#7495) 2021-04-28 21:50:22 -07:00
sumitsays
d67c86265b
Enabled fp16-inception-v1 test (#7406)
Co-authored-by: Sumit Agarwal <sumitagarwal@microsoft.com>
2021-04-22 23:05:03 -07:00
Sheil Kumar
265db2ad96
Fix Microsoft.AI.MachineLearning .NET5 publishing and C# Store Release build (#7373)
* fix .net publishing

* make experimental api build with microsoft.ai.machinelearning.idl import

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-04-19 15:36:43 -07:00
Brian Martin
3eb2d349a6
fix typo in scenariotestscppwinrt.cpp (#7334)
the word is spelled, "resetting".
2021-04-14 08:26:55 -07:00
Sheil Kumar
b7c89ce78a
User/sheilk/add api usage telemetry (#7320)
* winml telemetry

* change name to ApiUsage

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-04-12 17:51:25 -07:00
Ryan Lai
10102c09b6
Add better model test error messaging (#7239) 2021-04-05 14:59:19 -07:00
Brian Martin
06df28748f
Change tabs to spaces in Windows.AI.MachineLearning.idl (#7088)
noticed this in a recent PR, this file has some tabs that should be spaces.
2021-03-22 09:23:18 -07:00
Ori Levari
783acb144f
Ignored return value SDL bug fix (#6451) 2021-03-16 15:00:08 -07:00
Justin Stoecker
af4e5c0c6e
Minor WinML model test skip name change 2021-02-17 14:27:58 -08:00
Sheil Kumar
87cb6fd495
Add LearningModelBuilder to WinML Experimental Namespace along with various Audio operators (#6623)
* 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>
2021-02-12 14:17:10 -08:00
Xiang Zhang
8502573125
fix CheckLearningModelPixelRange (#6632) 2021-02-10 10:23:54 -08:00
Justin Stoecker
1c72774232
Update a few WinML model test filters for DML 2021-02-09 10:23:57 -08:00
Ryan Lai
c7feb48083
Don't send out Runtime error telemetry when can't create LearningModelDevice on machine without hardware adapters (#6535)
* Checkoutpoint 1

* Remove global logruntime error telemetry. This isn't necessary and doesn't contain relevant information

* Make macro simpler

Co-authored-by: Ryan Lai <ryalai96@gamil.com>
2021-02-03 14:27:29 -08:00
Ori Levari
3a30ad7b57
handle hr error conditions (#6449)
Co-authored-by: Ori Levari <orlevari@microsoft.com>
2021-01-29 15:01:08 -08:00
Ori Levari
531eb064ab
fix sdl bugs for uninitialized variables and returns (#6450)
Co-authored-by: Ori Levari <orlevari@microsoft.com>
2021-01-29 15:00:44 -08:00
Ori Levari
76f5d9edc6
add explicit barriers for buffer overread and overrwrite (#6484)
Co-authored-by: Ori Levari <orlevari@microsoft.com>
2021-01-29 14:59:56 -08:00
Ori Levari
3b1227c5ce
SDL annotation fixes (#6448)
Co-authored-by: Ori Levari <orlevari@microsoft.com>
2021-01-28 22:34:10 -08:00
Ori Levari
21b4842c34
SDL fixes: add proper casts/format specifiers (#6446) 2021-01-28 22:33:04 -08:00
Xiang Zhang
ce46f37ff2
expose learningmodelpixelrange property (#5877) 2021-01-28 15:29:55 -08:00
Sheil Kumar
ea2b560055
Fix test breaks in Windows ingestion pipeline (#6476)
* fix various build breaks with Windows build

* fix runtime errors loading libraries from system32

* add build_inbox check to winml_test_common

* use raw string

* cleanup

* fix dll load

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-01-28 14:37:15 -08:00
Ori Levari
b6ac35fed3
use tickcount64 (#6447)
Co-authored-by: Ori Levari <orlevari@microsoft.com>
2021-01-27 15:52:35 -08:00
Sheil Kumar
d5f51c4033
Bug 31463811: Servicing: Redist (Nuget) conflicts with Microsoft.AI.MachineLearning starting 21H1+ (#6460)
* update load library code to have the fullly qualified path

* make it work for syswow32

* git Revert "make it work for syswow32"

This reverts commit b9f594341b7cf07241b18d0c376af905edcabae3.

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-01-27 12:25:03 -08:00
Sheil Kumar
0d20104a72
only build experimental api in redist (#6465)
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2021-01-26 22:56:30 -08:00
Ori Levari
6507b4f818
Reintroduce experimental api changes and fix remote build break (#6385)
Co-authored-by: Ori Levari <orlevari@microsoft.com>
2021-01-22 15:15:53 -08:00
Ryan Lai
4db4982a5e
This added telemetry isn't needed (#6363) 2021-01-15 16:36:59 -08:00
Ryan Lai
961bb62ae4
Add create session to WinML telemetry to track WinML Usage (#6356) 2021-01-14 22:42:55 -08:00
Ryan Lai
0494a0f95f
Add ability to skip GPU tests based on GPU adapter name (#6198)
* Implement conversion from ortvalue to Itensor for string tensors and comparing sequence of maps of strings to floats

* PR comments

* Add ability to skip gpu tests according to adapter description

* spacing

* spacing

* spacing
2020-12-22 15:20:23 -08:00
Ryan Lai
21395f8e24
Implement comparing outputs that are sequence of maps of strings to floats (#6180)
* Implement conversion from ortvalue to Itensor for string tensors and comparing sequence of maps of strings to floats

* PR comments
2020-12-22 09:52:29 -08:00
Ryan Lai
1eb146f561
Implement conversion from ORT String to WinML Tensor String (#6097)
* Implement conversion from ort string to winml string

* NIT:comment
2020-12-10 17:47:50 -08:00
Ryan Lai
8bcb5fd119
Add skip test reason for onnx model zoo models and tier 2 models (#6081) 2020-12-10 14:41:17 -08:00
Ryan Lai
753af576c4
If building inbox, hook up winrt_activation_handler for WinML Tests (#6074)
* If building inbox, hook up winrt_activation_handler with what is already defined in in dllload.cpp

* Add base.h header

* Missed custom ops test
2020-12-10 14:41:01 -08:00
Sheil Kumar
00f43a3a68
add missing iclosable interface (#6036)
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-12-04 13:21:03 -08:00
Xiang Zhang
b4e6cc59c7
skip the check for A channel (#5989) 2020-12-02 11:23:54 -08:00
Ryan Lai
897310f6fb
Add suspend handler with new telemetry event for UWP scenarios (#5907)
* Add suspend handler with new telemetry event

* Fix build warning

* Use cppwinrt from nuget

* Restore nuget packages

* add dependencies

* Add nuget_helpers

* Cleaned up

* Clean up

* Comment

* Add dependencies for the rest

* Remove unused line

* Update activation string

* PR comment to remove ALL
2020-12-01 20:26:18 -08:00
Sheil Kumar
84c1340f9b
Refactor implementation of Tensor<T> and underlying buffer stores to improve binary size and maintainability (#5836)
* refactor tensor buffers to make cleaner

* refactor to make tensor backing buffer implementation smaller and cleaner

* missed virtual on destructor

* remove unnecessary static_pointer_cast

* add string vector accessor

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-11-18 14:56:47 -08:00
Tiago Koji Castro Shibata
794e8479eb
Revert #5805 (#5823)
* Fix race condition in msbuild

* Revert "Named Dimension Override internals test and experimental API (#5805)"

This reverts commit 157d1844fb.
2020-11-16 17:05:28 -08:00
Sheil Kumar
671fa60327
Enable direct tensorization and detensorization to many buffers in WinML (#5791)
* switch to work PC

* back with iterable of buffers

* add raw api tests

* tensorization

* last test

* all tests pass!

* small cleanup

* whitespace

* newline

* whitespace

* refactor common code into DisjointBufferHelpers

* remove unused file

* warning

* skip gpu tests when hardware not available

* Add error condition when createreference is invoked

* add null check to cretereference

* uncomment out check

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-11-16 10:06:22 -08:00
Ryan Lai
e40df385ba
Skipping even more x86 tests (#5799) 2020-11-15 20:52:26 -08:00
Ori Levari
157d1844fb
Named Dimension Override internals test and experimental API (#5805) 2020-11-13 21:21:11 -08:00
Ryan Lai
697e8faa9e
Skip failing x86 winml tests and update testData environment variable path mechanism (#5719)
* Skip failing x86 winml tests

* fix gpt2 rename typo

* there are actually 2 gpt model tests
2020-11-06 13:59:29 -08:00
Ryan Lai
bbfd914d72
Skip new model test additions (#5611) 2020-10-28 13:27:49 -07:00
Ryan Lai
98538580c8
give more tolerance to DirectML runs (#5564) 2020-10-21 23:14:51 -07:00
Ryan Lai
f207f0bf5e
Add WinML Model testing (#5417)
* Model test start with float

* Clean up code and add environment variable detection

* Move into namespace

* PR comments

* Fix linker errors in latest merge to master and also fix warning

* add skipping model test mechanism

* Return std::string instead of writing to buffer

* Address case where env variable is larger than max_path

* use const static string for test reason

* Disable x86 tests and don't build if ort memory checker is enabled

* Add comment

* Add additional failing x86 tests and ifdef for checking fo rx86 build

* PR comments
2020-10-15 19:04:12 -07:00
Tiago Koji Castro Shibata
83ead3e2eb
Fix com ptr refcount (#5404) 2020-10-08 10:18:38 -07:00
Changming Sun
43faf9e388
Disable a few tests that run too long(1 hour) in debug mode (#5257) 2020-09-22 21:06:24 -07:00
Tiago Koji Castro Shibata
cd663d58f5
Fix WinML warnings (#5228) 2020-09-19 12:41:42 -07:00
Tiago Koji Castro Shibata
62848c4de5
Add store builds to nuget packaging (#5040)
* Nuget store packaging

* Move DNNL workaround to EP

* Fix warning as error

* Disable store tests

* Skip store tests

* msbuild target

* Cross compile protoc in Store

* Disable DML in store

* Move store builds to CPU queue

* Copy uap10 to final nuget

* Fix pip8 error

* Remove extra dml copies

* Fix argparse

* pep8

* Forward IsStoreBuild

* Apply is_store_build to duplicate generate_nuspec

* runtimes

* Refactor uap10

* Store .NET

* uap

* PR feedback
2020-09-09 21:38:14 -07:00
Tiago Koji Castro Shibata
f7c3e4fa99
Store/containerized apps support (#4651)
* Initial containerized/Store build

* Remove unsupported APIs

* Remove usage of STL ifstream

* Revert CMake changes

* Link to app runtime

* WCOS/Store cmake

* Update CMakeSettings.json

* Fix winapi family support

* Fix downlevel

* Downlevel build

* Remove downlevel workaround

* pep8 compliance

* Workaround WinRT headers bug

https://github.com/microsoft/cppwinrt/issues/584 in older SDK

* Always cross compile to avoid warnings as errors

* PR feedback

* More CI fixes

* PR feedback

* aiinfra build fix

* Win8 store
2020-09-09 14:36:35 -07:00
Brian Martin
f41614a875
User/brianma/telemetry (#5084)
* add runtime session id to (de)tensorization events

* append start or stop to the event names and remove opcodes

* add appsessionguid to telemetry events
2020-09-08 19:02:46 -07:00
Xiang Zhang
0dad79b495
Add SetLanguageProjection C Api and use it in four projections (#5023)
* Add SetLanguageProjection C Api and use it in four projections

* static cast enum languageprojection to uint32_t

* resolve comments

* fix typo and line added unintentionally

* revert unecessary change

* reorder c# api

* add TensorAt and CreateAndRegisterAllocator in Csharp to keep the same order as C apis
2020-09-04 14:26:39 -07:00
Brian Martin
655ffd5d5b
make (de)tensorization events measure level events (#4958)
* make tensorizer events measures

* throttle the events and add a new one SoftwareBitmapToGPUTensorTelemetryEvent

* factor out timing code into a class

* typo

* typo

* move eventimer class into its own header file

* add throttling to detensorization and remove variable timing

* make detensorization events measures as well

* add ConvertGPUTensorToSoftwareBitmapTelemetryEvent event

* de-duplicate event names

* fix comment

* PR feedback
2020-08-28 16:49:32 -07:00
Dwayne Robinson
040c5fa3e0
Merge pull request #4925 from microsoft/user/dwayner/Iron
ORT DirectML EP for Iron release, ONNX 1.5
2020-08-28 12:28:30 -07:00
Ori Levari
a7ce5b2be1
fix comment and casing of telemetry fields for named dimension overrides (#4943)
Co-authored-by: Ori Levari <orlevari@microsoft.com>
2020-08-27 17:30:56 -07:00
Sheil Kumar
6dc85b5f14
wstring_convert std::codecvt_utf8 add ~200KB to inbox windows.ai.machinelearning.dll binary size (#4932)
* switch to UTF8FromHString

* remove extra c_str

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-08-27 10:07:10 -07:00
Xiang Zhang
170fee0987
User/xianz/fixbuild (#4906)
* support Normalized_0_1 and Normalized_1_1

* add tests for Normalized_1_1

* fix build error

* fix imagetests failure

* support denterization and add more tests

* fix build

* remove added models

* disable gpu tests for CPU pipeline

* refactor based on comments and moved two added models

* merge normalizer and Denomalizer into NominalRangeConverter

* add comments

* little change

* fix build failure for amd64
2020-08-25 15:08:55 -07:00
Xiang Zhang
824fcbfd9d
support Normalized_0_1 and Normalized_1_1 (#4800)
* support Normalized_0_1 and Normalized_1_1

* add tests for Normalized_1_1

* fix build error

* fix imagetests failure

* support denterization and add more tests

* fix build

* remove added models

* disable gpu tests for CPU pipeline

* refactor based on comments and moved two added models

* merge normalizer and Denomalizer into NominalRangeConverter

* add comments

* little change
2020-08-24 13:13:50 -07:00
Changming Sun
26546f81fe
Remove the private ONNX protobuf definition file (#4878) 2020-08-24 12:40:33 -07:00
Dwayne Robinson
730d95107d Merged PR 5065263: ONNX backend autopilot crash in WinML ToString running test_cast_BFLOAT16_to_FLOAT
While attempting to throw an error and format an error message about an incompatible binding, WinML dies via FAIL_FAST_IF_MSG because the helper `ToString` function itself croaks :b. Instead, it should just say the data type is undefined.

```
StartGroup: Test:#62; Graph:test_cast_BFLOAT16_to_FLOAT; Executor:WinMLOperatorExecutor_Cpu;
TAEF: A crash with exception code 0xC0000409 occurred in module "Windows.AI.MachineLearning.dll" in process "te.processhost.exe" (pid:15732).
Error: TAEF: [HRESULT 0x800706BE] A failure occurred while running a test operation: 'OnnxConformanceTestsTaef::OnnxBackend'. (A crash with exception code 0xC0000409 occurred in module "Windows.AI.MachineLearning.dll" in the process hosting the test code while invoking a test operation.)
```
2020-08-20 21:20:37 +00:00
ISS Build Account
bf300e3c18 Merge remote-tracking branch 'upstream/master' into DmlDev 2020-08-17 12:25:00 +00:00
Ori Levari
5899c1197a
add telemetry for named dimension overrides (#4794)
Co-authored-by: Ori Levari <orlevari@microsoft.com>
2020-08-16 17:09:55 -07:00
ISS Build Account
f01579b8fb Merge remote-tracking branch 'upstream/master' into DmlDev 2020-08-13 19:38:44 +00:00
Sheil Kumar
722602f32d
replace namespace reference with alias (#4786)
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-08-13 11:14:55 -07:00
Sheil Kumar
8a66ad79a6
Add Experimental WinRT API IDL as placeholder for adding new winrt features (#4736)
* Add experimental winrt api idl with dummy type to satisfy the build

* remove experimental from the api_lib target

* make experimental api available on windows builds also

* remove /y /d

* revert some pathing changes

* remove experimental api call from tests

* revert cppwinrt cmake changes

* switch to stdapi

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-08-12 12:45:19 -07:00
Ryan Lai
f9bd52f852
Log telemetry for WinML Native API for setting intra op num usage (#4700)
Co-authored-by: Ryan Lai <ryalai96@gmail.com>
2020-08-04 09:44:23 -07:00
Ori Levari
e6ef3653a7
Add Named Dimension Override API to LearningModelSessionOptions (WinML) (#4606)
Co-authored-by: Ori Levari <orlevari@microsoft.com>
2020-08-03 16:04:21 -07:00
ISS Build Account
c67dd693c2 Merge remote-tracking branch 'upstream/master' into DmlDev 2020-07-31 11:06:42 +00:00
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
ISS Build Account
daa60c7dfb Merge remote-tracking branch 'upstream/master' into DmlDev 2020-07-30 12:36:01 +00:00
Sheil Kumar
0a8bfb10fa
Inbox WinML tests fail because Inbox loads binaries from system32 (#4660)
* make dml and onnxruntime system32 only when winml and onnxruntime is loaded from system32

* use __ImageBase as that will not incur the unsupport store api call into GetModuleHandleEx

* remove accidental comment

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-07-30 00:09:18 -07:00
ISS Build Account
72908b146e Merge remote-tracking branch 'upstream/master' into DmlDev 2020-07-28 12:25:36 +00:00
Sheil Kumar
efa393e596
WinML should dynamically link against onnxruntime.dll and only system32 for inbox builds (#4615)
* Dynamically link onnxruntime.dll

* fixes

* add preceeding backslash to onnxruntime.dll for inbox builds

* remove /d

* loadlibrary -> loadlibraryex

* use loadlibrary system32 option

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-07-27 09:56:49 -07:00
ISS Build Account
bee13d657b Merge remote-tracking branch 'upstream/master' into DmlDev 2020-07-27 04:56:09 +00:00
Sheil Kumar
222fd08f20
DirectML.dll is loaded via LoadLibraryW but should use LoadLibraryExA (#4616)
* create dml device via loadlibraryexa

* add build_INBOX flag to adapter

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-07-25 21:29:46 -07:00
Sheil Kumar
c361a59cff
disable gpu timeouts in winml (#4604)
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-07-24 13:44:44 -07:00
Tiago Koji Castro Shibata
48d969f4bf
Constexpr CreateFeatureValueFromInspectable (#4460) 2020-07-24 13:08:14 -07:00
ISS Build Account
15e1a1e1ac Merge remote-tracking branch 'upstream/master' into DmlDev 2020-07-24 12:21:34 +00:00
Ryan Lai
f35ce4677f
add double and uint8_t datatypes (#4603)
Co-authored-by: Ryan Lai <ryalai96@gamil.com>
2020-07-23 21:32:29 -07:00
ISS Build Account
8829d60f94 Merge remote-tracking branch 'upstream/master' into DmlDev 2020-07-22 00:55:24 +00:00
Ryan Lai
0b4659c3fe
Populates TensorProto with tensor from protobuf file (#4535)
* Expose load tensor proto from protobuf file function

* Add comment

* Remove use of fstream and use parsefromzerocopystream

* Close file descriptor after finish parsing it

* Close input stream too

* Set Close on delete only, no need to close file descriptor

* Revert "Set Close on delete only, no need to close file descriptor"

This reverts commit 5ba6e3c31b.

* Revert "Close input stream too"

This reverts commit 4564776733.

* Revert "Close file descriptor after finish parsing it"

This reverts commit 846e550c4f.

* Revert "Remove use of fstream and use parsefromzerocopystream"

This reverts commit 25a3117183.
2020-07-21 17:50:15 -07:00
ISS Build Account
5b7050321f Merge remote-tracking branch 'upstream/master' into DmlDev 2020-07-17 12:25:12 +00:00
Sheil Kumar
02aea5d2d4
rename telemetry provider back to Microsoft.Windows.AI.MachineLearning (#4533)
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-07-16 19:51:06 -07:00
ISS Build Account
b1b75b35ac Merge remote-tracking branch 'upstream/master' into DmlDev 2020-07-13 21:17:39 +00:00
Sheil Kumar
fdb4a3a2e8
Add cppwinrt and cswinrt tests in windowsai nuget pipeline (#4381)
* build e2e cppwinrt tests

* add use nuget task

* make all referenced to package version prop/target-ified

* remove dupe props/targets reference

* work around project.assets.json error by deleting it

* powershell test invocation

* switch to batch script

* print debug info

* update x86->x64

* stdio.h

* pushd/popd

* add csharp tests

* package.config -> packages.config

* typo

* x86 -> anycpu

* debug is default

* add test path

* update csproj as well

* debug

* really replace all package versions

* debug output

* really use [PackageVersion]

* sleep intead of converting async operation to task and waiting

* dont close software bitmap

* switch to powershell script

* remove binding check

* continue on failure

* continuse on error action

* continueOnError and errorActionPreference

* tabbing

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-07-07 09:36:42 -07:00
ISS Build Account
ee48b89350 Merge remote-tracking branch 'upstream/master' into DmlDev 2020-06-28 12:27:21 +00:00
Scott McKay
274e6b4153
Cleanup SessionState. Move allocator lookup to SessionState. (#4194)
* Move allocators to SessionState so they're decoupled from ExecutionProviders
  - when looking up an allocator it's based on OrtMemoryInfo not the EP so SessionState is a more natural place for that infromation to be stored
  - add device based lookup
    - simplifies logic for copying feeds/fetches across devices
Cleanup SessionState and SessionStateInitializer
  - provide more things to SessionState at construction time so we don't construct and instance and immediately after call a bunch of setters
  - simplify SessionStateInitializer
    - reduced down to FinalizeSessionState method
2020-06-28 14:55:42 +10:00
Dwayne Robinson
1de79d3158 Merged PR 4781392: Add 64-bit tensor types to DML EP
- Add 64-bit for those which now support true 64-bit (Gather, Scatter, OneHot, Cast), and update others (ArgMin, ArgMax, ReverseSequence, TopK, MaxPool, MaxUnpool) which take 64-bit indices but use strided 32-bit fallback.
- Stop forcibly coercing all 64-bit tensors in TensorDesc. Instead, decide in the respective kernels how to behave.
- Update graph partitioning code with enough registration information to know whether (a) 64-bit tenors are not supported at all (b) they are support via strided 32-bit fallback (c) they are supported via fallback and directly (preferred when device capable). Unfortunately this introduces a lot of flag parameters :/.

Related work items: #22265955
2020-06-17 09:00:54 +00:00
Ryan Lai
ed0a8e5b5c
Enable disabled tests and add fixed model (#4059)
Co-authored-by: Ryan Lai <ryalai96@gamil.com>
2020-05-28 13:24:12 -07:00
Jeff Bloomfield
59af3ea278
Add missing D3D12 resource barriers and fences to Winml (#3941)
* Add missing D3D12 resource barriers to Winml

* Fix unsafe descriptor usage in Winml tensorization
2020-05-20 23:19:44 -07:00
Ori Levari
ce4d05862a
add bm_fish_720 to collateral for scenario 22 test (#3998)
Co-authored-by: Ori Levari <orlevari@microsoft.com>
2020-05-20 23:19:27 -07:00
Jeff Bloomfield
1c1685ad2b
Fix error handling in LearningModelSession.cpp (#3920) 2020-05-13 10:13:16 -07:00
Tiago Koji Castro Shibata
385073e1cd
Fix DmlCopyTensor test (#3923)
* Fix heap corruption

* Cleanup
2020-05-13 09:14:55 -07:00
Ori Levari
7b858d60b0
Various changes for automated downlevel test pipeline (#3901)
Co-authored-by: Ori Levari <orlevari@microsoft.com>
2020-05-12 17:22:47 -07:00
Xiang Zhang
bccbdd03f1
User/xianz/enable batch tests (#3914)
* enable batch tests in winml_image_test

* copy batchGroundTruth folder

* skip GPU tests when GPU is unavailable
2020-05-12 15:46:46 -07:00
Ori Levari
6d2d927809
add test to api tests to ensure correct hresult is returned for corrupt model file (#3796)
Co-authored-by: Ori Levari <orlevari@microsoft.com>
2020-05-11 13:22:22 -07:00
Sheil Kumar
c7da194313
remove winrt (#3899)
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-05-11 10:47:07 -07:00
Sheil Kumar
cf6a1c1715
Fix Windows Inbox build failing on 1) building raw api tests and 2) referencing _winml namespace in onnxruntime.dll (#3872)
* add build inbox flag

* remove raw tests and wstring for utf filenames

* enable raw tests

* use ToWideString

* create new utf8 helper

* update string helper to utf8

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-05-08 15:59:16 -07:00
Tiago Koji Castro Shibata
eb7486d632
WinML Adapter DMLEP tests (#3752)
* Add DML EP tests

* wip

* Fix DmlCopyTensor

* Cleanup

* Remove leaks in AdapterDmlEpTest

* Fix rebase conflicts

* Move GPUTEST macro to tests instead of suite setup

* Address PR feedback
2020-05-07 16:25:41 -07:00
Sheil Kumar
e981496cf7
add build inbox flag (#3855)
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-05-07 15:52:43 -07:00
Tiago Koji Castro Shibata
43b87de7d1
Support wide char paths in CreateModel (#3835)
* Support wide char paths in CreateModel

* Use UTF-8 in WinML adapter API
2020-05-07 13:32:19 -07:00
Sheil Kumar
43a828f0a2
Add tests for WinRT Projection Raw ABI consumption (#3718)
Add tests for WinRT Projection Raw ABI consumption
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-05-02 00:33:17 -07:00
Jeff Bloomfield
407492472f Fix build warnings and address PR comment 2020-04-27 13:21:45 -07:00
Jeff Bloomfield
02e8d10f3a Fix AdapterSessionTest 2020-04-25 20:49:51 -07:00
Jeff Bloomfield
f1c19f8495 merge master 2020-04-25 19:04:58 -07:00
Tiago Koji Castro Shibata
f48b9e2ea7
Add adapter session tests (#3522)
* Start adapter tests

* Fix more adapter session CMake

* Implememt adapter session tests

* Fix adapter test breaks

* Test fixes, profiling test

* Fix adapter w/ DML tests

* Cleanup

* Fix WinML adapter profiling test

* Fix memory leaks

* Remove FIXME
2020-04-24 14:39:54 -07:00
Ori Levari
66343e2fcf
use map with case insensitive hash and equals functions for learningmodel metadata. add test to verify case insensitive functionality. (#3671)
Co-authored-by: Ori Levari <orlevari@microsoft.com>
2020-04-24 10:46:10 -07:00
Ori Levari
bae1dd7f04
add test for LearningModel creation from missing model path (#3661) 2020-04-23 15:37:32 -07:00
Sheil Kumar
31b6629e99
Fork WinML IDL Guids (#3591)
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-04-20 09:17:07 -07:00
Jeff Bloomfield
88732cd092 upstream/jeffbloo/TrimOnSessionInitializationEnd 2020-04-19 13:49:23 -07:00
Jeff
7d523d2580 Merge remote-tracking branch 'upstream/master' into jeffbloo/TrimOnSessionInitializationEnd 2020-04-19 11:58:44 -07:00
Jeff Bloomfield
8ee5953153 Merge remote-tracking branch 'upstream/master' into user/jeffbloo/MergeGithubMasterToDmlDev1 2020-04-19 11:52:44 -07:00
Jeff Bloomfield
a4e312da43 Fix build error in D3DDeviceCache.cpp 2020-04-19 11:52:41 -07:00
Tiago Koji Castro Shibata
14e387aa1a
Fix WinML namespace build break (#3583)
* Add missing winrt namespace

* Conditional compilation of dxcore code

* Fix TAEF macros
2020-04-18 20:46:01 -07:00
Jeff Bloomfield
11baa4b56d Merge user/ticastro/fix-wai-build 2020-04-17 14:10:50 -07:00
Jeff Bloomfield
822883314e merge upstream/master 2020-04-17 13:47:07 -07:00
Sheil Kumar
2717c178cc
Fork the WinML APIs into the Microsoft namespace (#3503)
* Migrate winml to Microsoft Namespace (packaging changes are pending)

* add ns_prefix toggle

* fix packaging

* Users/sheilk/add missing raw header (#3484)

* add dualapipartition

* wrong variable for repo root

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>

* remove existence check to force failures

* extra paren

* dualapipartition needs to be referenced from the source

* add microsoft.ai.machinelearning.dll to the output dir

* rename the idl file so that assembly info is correctly added into the winmd

* fix namespaces

* update namespaces

* default to microsoft, and add namespace override as build argument

* update cmakesetings.json as well

* remove from cmakelists.txt

Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
Co-authored-by: Changming Sun <chasun@microsoft.com>
2020-04-17 06:18:54 -07:00
Jeff
e89dd92387 Flush and trim resources in DML EP in new OnSessionInitializationEnd method 2020-04-14 21:40:53 -07:00
Ori Levari
f564569a80
Adapter Model and Environment tests (#3469)
*Adapter Model and Environment tests
*winml test macro clean up and extension
2020-04-14 13:36:31 -07:00
Tiago Koji Castro Shibata
560f4c5b16
Make GPUTEST macro consistent among TAEF/googletest (#3518) 2020-04-14 10:55:16 -07:00
Jeff
67443c0e17 Fix winml test compilation errors 2020-04-13 13:06:19 -07:00
Jeff
e3c9fb9fee Fix build issues 2020-04-13 08:36:14 -07:00
Jeff Bloomfield
b04e48333d Merge branch 'master' into DmlDev 2020-04-09 11:30:01 -07:00