onnxruntime-openenclave/cmake
Adrian Tsai 4090d0d0de
Add DirectML Execution Provider (#2057)
This change adds a new execution provider powered by [DirectML](https://aka.ms/DirectML).

DirectML is a high-performance, hardware-accelerated DirectX 12 library for machine learning on Windows. DirectML provides GPU acceleration for common machine learning tasks across a broad range of supported hardware and drivers.

The DirectML execution provider is capable of greatly improving evaluation time of models using commodity GPU hardware, without sacrificing broad hardware support or requiring vendor-specific extensions to be installed.

**Note** that the DML EP code was moved verbatim from the existing WindowsAI project, which is why it doesn't yet conform to the onnxruntime coding style. This is something that can be fixed later; we would like to keep formatting/whitespace changes to a minimum for the time being to make it easier to port fixes from WindowsAI to ORT during this transition.

Summary of changes:
* Initial commit of DML EP files under onnxruntime/core/providers/dml
* Add cmake entries for building the DML EP and for pulling down the DirectML redist using nuget
* Add a submodule dependency on the Windows Implementation Library (WIL)
* Add docs under docs/execution_providers/DirectML-ExecutionProvider.md
* Add support for DML EP to provider tests and perf tests
* Add support for DML EP to fns_candy_style_transfer sample
* Add entries to the C ABI for instantiating the DML EP
2019-10-15 06:13:07 -07:00
..
external Add DirectML Execution Provider (#2057) 2019-10-15 06:13:07 -07:00
onnx make builds more robust (#906) (#932) 2019-04-29 12:58:20 -07:00
patches Update nGraph to version 0.26 (#1965) 2019-10-14 10:37:48 -07:00
CMakeLists.txt Add DirectML Execution Provider (#2057) 2019-10-15 06:13:07 -07:00
ConfigureVisualStudioCodeAnalysis.props Initial bootstrap commit. 2018-11-19 16:48:22 -08:00
EnableVisualStudioCodeAnalysis.props Initial bootstrap commit. 2018-11-19 16:48:22 -08:00
get_boost.cmake restore ninja compatibility 2019-05-15 10:18:52 -07:00
onnxruntime.cmake Add DirectML Execution Provider (#2057) 2019-10-15 06:13:07 -07:00
onnxruntime_automl_featurizers.cmake Replace GSL with GSL-LITE submodule and fix up refs (#1920) 2019-10-01 12:43:29 -07:00
onnxruntime_codegen.cmake Replace GSL with GSL-LITE submodule and fix up refs (#1920) 2019-10-01 12:43:29 -07:00
onnxruntime_common.cmake Replace GSL with GSL-LITE submodule and fix up refs (#1920) 2019-10-01 12:43:29 -07:00
onnxruntime_config.h.in Ignore some gcc warnings (#1996) 2019-10-07 16:32:34 -07:00
onnxruntime_csharp.cmake Conditionally export execution provider apis in chsarp (#1724) 2019-09-09 11:17:44 -07:00
onnxruntime_dependencies.dot Initial bootstrap commit. 2018-11-19 16:48:22 -08:00
onnxruntime_framework.cmake Replace GSL with GSL-LITE submodule and fix up refs (#1920) 2019-10-01 12:43:29 -07:00
onnxruntime_graph.cmake Add DirectML Execution Provider (#2057) 2019-10-15 06:13:07 -07:00
onnxruntime_language_interop_ops.cmake Replace GSL with GSL-LITE submodule and fix up refs (#1920) 2019-10-01 12:43:29 -07:00
onnxruntime_mlas.cmake Introduce a separate check and conditional for AVX512BW build (#2083) 2019-10-10 16:14:00 -07:00
onnxruntime_nuphar_extern.cmake Weba/merge ngemm (#2021) 2019-10-05 12:09:22 -07:00
onnxruntime_optimizer.cmake Cleanup some aspects of the Initializer class used by optimizers (#2005) 2019-10-09 10:37:44 +10:00
onnxruntime_providers.cmake Add DirectML Execution Provider (#2057) 2019-10-15 06:13:07 -07:00
onnxruntime_pyop.cmake Replace GSL with GSL-LITE submodule and fix up refs (#1920) 2019-10-01 12:43:29 -07:00
onnxruntime_python.cmake Add DirectML Execution Provider (#2057) 2019-10-15 06:13:07 -07:00
onnxruntime_server.cmake Replace GSL with GSL-LITE submodule and fix up refs (#1920) 2019-10-01 12:43:29 -07:00
onnxruntime_session.cmake Replace GSL with GSL-LITE submodule and fix up refs (#1920) 2019-10-01 12:43:29 -07:00
onnxruntime_unittests.cmake Add DirectML Execution Provider (#2057) 2019-10-15 06:13:07 -07:00
onnxruntime_util.cmake Replace GSL with GSL-LITE submodule and fix up refs (#1920) 2019-10-01 12:43:29 -07:00
protobuf_function.cmake Use protobuf-lite to reduce onnxruntime.dll size. (#639) 2019-03-21 14:06:38 -07:00