Commit graph

450 commits

Author SHA1 Message Date
Andrews548
62b44527e5
Add ArmNN Execution Provider (#3714)
* Add ArmNN Execution Provider

Add a new execution provider targeting Arm architecture based on ArmNN.
Validated on NXP i.MX8QM CPU with ResNet50, MobileNetv2 and VGG models.

reviewed-by: mike.caraman@nxp.com

* Minor fixes

- renamed onnxruntime_ARMNN_RELU_USECPU to onnxruntime_ARMNN_RELU_USE_CPU
- fixed acl typo

* remove extra includes. added exception for ArmNN in test

* fix indentation

* Separated the activation implementation from the cpu and fixed the blockage from the endif

Co-authored-by: Andrei-Alexandru <andrei-alexandru.avram@nxp.com>
2020-06-03 22:57:51 +05:30
Dmitri Smirnov
afca0d15ee
Create Java publishing pipeline (#3944)
Create CPU and GPu Java publishing pipelines. Final jars are tested on all platforms. However, signing and publishing to maven are manual steps.
2020-06-01 18:18:57 -07:00
Pranav Sharma
6c1b2f33b7
Fix crash reported in #4070. (#4091)
* Fix crash reported in #4070.

* Add newline to warning message

* Add comment for using cout instead of the logger
2020-06-01 15:27:14 -07:00
edgchen1
a715d55bcc
Training Python package fixes (#4063)
- Add support for ENABLE_LANGUAGE_INTEROP_OPS in training build which is enabled for nightly builds
- Fix passing of environment variables to `sudo docker run` in build definitions
- Fix setup.py package naming logic
2020-06-01 09:30:56 -07:00
edgchen1
38d76cc904
Clean up training E2E test (#4078)
Update training E2E build to not go through CTest and call test scripts directly.
2020-05-29 09:20:47 -07:00
Yulong Wang
b3ec8035ee
[Node.js binding] add build flag for node.js binding (#3948) 2020-05-27 13:30:22 -07:00
Tracy Sharpe
0d8abc1a99
MLAS: qgemm refactoring (#4030)
Treat U8U8 as U8S8 for VNNI for performance and optimize SSE2 kernel.
2020-05-26 17:27:32 -07:00
Paul Fultz II
7759136610
Add amd migraphx execution provider to onnx runtime (#2929)
* Add amd migraphx execution provider to onnx runtime

* rename MiGraphX to MIGraphX

* remove unnecessary changes in migraphx_execution_provider.cc

* add migraphx EP to tests

* add input requests of the batchnorm operator

* add to support an onnx operator PRelu

* update migrapx dockerfile and removed one unused line

* sync submodules with mater branch

* fixed a small bug

* fix various bugs to run msft real models correctly

* some code cleanup

* fix python file format

* fixed a code style issue

* add default provider for migraphx execution provider

Co-authored-by: Shucai Xiao <Shucai.Xiao@amd.com>
2020-05-27 04:24:59 +08:00
Tiago Koji Castro Shibata
faf65e960f
Refactor delayloading (#4019)
* Refactor delayloading

* Remove explicit linking to windowsapp.lib
2020-05-24 23:26:30 -07:00
Wei-Sheng Chin
24eda3df33
Create Utils for Adding Range and Marker (#4013)
In this PR, we
  1. create some APIs for creating NVTX objects
  2. apply those APIs in pipeline-related operators and sequential executor.
As a result, we can explicitly see how a pipeline schedule is run by GPUs in 
Nvidia's visual profiler. Note that these APIs are Linux only due to Nvidia's
limited support.
2020-05-24 22:55:24 -07:00
Scott McKay
475e7e43e6
Older flake8 versions report false positives and don't handle the same things in the config file. (#3983)
Require the current flake8 version or later so we get consistent results.
2020-05-20 07:29:22 +10:00
edelaye
64b5f7edf6
Initial release of Vitis-AI Execution Provider (#3771)
* Initial release of Vitis-AI Execution Provider

* Add documentation, fix for onnxruntime::Model changes and use stringstream instead of file dump for model passing

* - Add Vitis-AI docker file
- Add online quantization flow Vitis-AI execution provider
- Fix remarks

* - Add fatal error build message for Vitis-AI cmake build on Windows
- Fix pep8 issue in build.py
- Add Vitis-AI execution provider example in docs

Co-authored-by: Elliott Delaye <elliott@xilinx.com>
Co-authored-by: Jorn Tuyls <jornt@xilinx.com>
Co-authored-by: Jorn Tuyls <jtuyls@users.noreply.github.com>
2020-05-19 05:32:32 -07:00
gwang-msft
a75a83b41a
Minor android build fix (#3980) 2020-05-18 19:20:23 -07:00
Adam Pocock
9d2d1eb6f6
[java] Adds a CUDA test (#3956)
* [java] - adding a cuda enabled test.

* Adding --build_java to the windows gpu ci pipeline.

* Removing a stray line from the unit tests that always enabled CUDA for Java.
2020-05-18 12:05:51 -07:00
ytaous
bc441b7e5c
Add cpu/mem usage for perf metrics (#3947)
* add cpu/mem usage

* on comments

* on comments

* renaming

Co-authored-by: Ethan Tao <ettao@microsoft.com>
2020-05-15 12:29:40 -07:00
Jeff Bloomfield
e6da5946d1
Update DML Nuget version and DML EP Doc (#3945)
Update DML Nuget version and DML EP Doc
2020-05-14 17:33:46 -07:00
Scott McKay
5e0928a777
Enable running PEP8 on python scripts using flake8 (#3928)
* Enable running PEP8 checks via flake8 as part of the build if flake8 is installed.
Update scripts in \tools and \onnxruntime\python. Excluding \onnxruntime\python\tools which needs a lot more work to be PEP8 compliant. Also excluding orttraining\tools for the same reason.
Install flake8 as part of the static_analysis build task in the Win-CPU CI so the checks are run in one CI build.
Update coding standards doc.
2020-05-15 07:15:06 +10:00
gwang-msft
cba8bdc790
Make some compile change for Android NNAPI provider using DNNLibrary (#3935)
* Change compile settings for NNAPI with DNNLib

* update build.py

* update build readme
2020-05-14 10:53:37 -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
Hariharan Seshadri
3065219cc1
Changes related to the release binaries requiring Visual C++ 2019 runtime (#3871) 2020-05-12 17:07:06 -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
Dmitri Smirnov
18dc0ec39f
Rework jar by creating os-arch folders (#3849)
Detect os and arch and move the artifacts to a new folder.
 Remove unnecesary jars so we cam focus on those we publish.
 Add signing
 Make signature simlper.
 Fix indent.
 Halt on 32-bit arch.
 Credits: @Craigacp
2020-05-12 15:31:20 -07:00
Hariharan Seshadri
c00945ae81
Build ORT by default for Mac OS X versions 10.12+ (#3626) 2020-05-12 14:43:32 -07:00
Jeff Bloomfield
af7d453435
Merge DML Execution Provider updates (#3885)
* Merged PR 4616739: Update QLinear Ops fix 1D support layout

Update QLinear Ops fix 1D support layout

Related work items: #26011523

* Merged PR 4617257: Gather operator DML EP fails with scalar indices and 1D inputs

Fix gather with scalar value.

The ONNX conformance test case is in another PR:

    // 0D, axis 1, rank 0 indices tensor
    {
      "op_type": "Gather",
      "axis": 0,
      "data": [1,2,3],
      "indices": 0,
      "output": 1,
      "T": "float32"
    }

* Merged PR 4632178: Re-enable ORT onnx_test_runner test case (DirectML ConvTranspose validation needs to be loosened to comply with ONNX definition of output_padding)

Re-enable 1D convolution tests.

Related work items: #23499747

* Merged PR 4656672: Make DML EP use Direct queue

While a Compute queue has benefits, Direct is consistent with Winml.

Related work items: #26324112

* Update DML nuget version

* Merged PR 4662079: Update DmlDev branch again from github master

Include Sheil's changes to fix namespace and header file include paths. Without this, the ONNX conformance tests all fail with E_NOTIMPL.

* Increment DML nuget version

Co-authored-by: Nick Feeney <nickfe@microsoft.com>
Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>
2020-05-11 17:57:01 -07:00
Prabhat
ce3678ffaf
Added aarch64 build pipeline (#3841)
* Added aarch64 build pipeline

* Fix build error

* Remove auditwheel repair which doesn't work with cross compiling

* Statically link C++

* Added auditwheel repair back and fix stdlib.h

* Remove extra space
2020-05-11 22:56:16 +05:30
M. Zeeshan Siddiqui
5e1244eb4d
Update ONNX submodule to ONNX 1.7 release branch. (#3888)
* Update to ONNX submodule to ONNX 1.7 release branch.

* Update to ONNX submodule to ONNX 1.7 release branch.

* fix version.
2020-05-10 15:44:44 -07:00
ytaous
96030fdcbc
dashboard integration - output training perf metrics as json (#3809)
* dashboard integration - first phase

* change a field

* perf scripts

* addressing PR comments

* address comments and fix build

* minor

* make GetConfigFromData() const

* more update for comments

* addressing comments

* more on addressing comments

* minor

* fix build

* add condition check

* more on comments

* retrun status

* remove batch size

* on comments

* rename pkg path

* rename pkg path

* additional commentss

Co-authored-by: Ethan Tao <ettao@microsoft.com>
2020-05-10 10:29:38 -07:00
Sheil Kumar
890c945d4c
winml_is_inbox is not accessible in function scope, move it out. (#3886)
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-05-09 00:23:59 -07:00
George Wu
672e40bac2
fix dnnl ep shared lib python packaging. (#3875) 2020-05-08 17:11:29 -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
Sheil Kumar
e981496cf7
add build inbox flag (#3855)
Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
2020-05-07 15:52:43 -07:00
Tracy Sharpe
cb554fbc2d
MLAS: Add MlasComputeSoftmax/MlasComputeExp (#3846)
* add MlasComputeSoftmax

* fix onnxruntime_mlas_test DLLs

* remove unneeded header

* remove unneeded header

* call MlasComputeExp

* call MlasComputeSoftmax

* call MlasComputeSoftmax

* finish off

* fix static analysis warning
2020-05-07 14:02:01 -07:00
Scott McKay
687edd702c
Add RelWithDebInfo target to the C# projects so that it correctly finds the native build. (#3839)
Make the cmake file slightly more consistent for the build c# flag.
2020-05-06 20:01:04 +10:00
Adam Pocock
d38b79c6e5
[Java] Adding missing methods on Session, SessionOptions and RunOptions (v2) (#3832)
* java - adding support for custom op libraries.

* Adding support for RunOptions and additional methods for SessionOptions and OrtSession.

As a result OrtEnvironment.LoggingLevel moved to be a top level enum
called OrtLoggingLevel.

* java - adding unit tests for RunOptions and SessionOptions.

* java - removing unused releaseNamesHandle method

* java - add test for custom op library.

* java - adding log verbosity methods, and tests for the same.

* java - fixes for custom op loading test on Windows.

* Cleanup after rebase on master.
2020-05-06 01:19:46 -07:00
Ryan Hill
d5ec353e58
Ryanunderhill/mkldnn dll (#3314)
First version of allowing providers to work as DLLs, only implemented for DNNL so far.

More improvements to come next!
2020-05-06 00:57:09 -07:00
M. Zeeshan Siddiqui
9b02b3df6f
Update ONNX submodule to ONNX 1.7 release candidate 3. (#3838) 2020-05-06 00:55:19 -07:00
airockchip
edaf8a542c
Initial PR for RKNPU execution provider (#3609)
* Initial RKNPU execution provider

    * Init

    * Support Ops:
        Conv, Relu, Clip, LeakyRelu,
        MaxPool, AveragePool, GlobalAveragePool,
        Concat, Softmax, BatchNormalization, Gemm,
        Add, Mul, Sub,
        Reshape, Squeeze, Unsqueeze,
        Flatten, Transpose,
        QLinearConv, DequantizeLinear

    * Add rknpu unittest

    * Update BUILD.md and Add RKNPU-ExecutionProvider.md

* misc code update

* fix CLIP accuracy issue.

* fix "Error: Duplicate definition of name".

* move rknpu_ddk out of onnxruntime submodule.

* remove temporary code.

* add rknpu namespace.

* update misc of node_attr_helper

* add const & comment for onnx_converter

* add const & comment for shaper

* unify variable name

Co-authored-by: dkm <dkm@rock-chips.com>
Co-authored-by: George Wu <jywu@microsoft.com>
2020-05-05 20:36:47 -07:00
M. Zeeshan Siddiqui
ef4d73e887
Update ONNX submodule to ONNX 1.7 release candidate 2. (#3818)
* Update ONNX submodule to ONNX 1.7 release candidate 2.

* fix build error.

* Update ONNX submodule to latest and disable preview op tests.
2020-05-05 15:08:40 -07:00
Changming Sun
bd78364411
Parallel all the activations ops (#3722)
1. Parallel all the activations ops.
2. Parallel the performance critical path of the LRN op, which makes the ONNX model zoo googlenet model runs 60% faster(latency reduced from 21ms to 13ms).
3. Make the Gemm-Activation fusion support with all the activations ops. Before this change, it only supports LeakyRelu/Relu/Sigmoid/Tanh.
4. Delete onnxruntime/test/framework/op_kernel_test.cc because the file is almost empty.
5. Remove the loggings in KernelRegistry::TryFindKernel, return Status with error message instead.
2020-05-05 01:18:17 -07:00
Dmitri Smirnov
111469728f
Make Java build and run tests on Windows the box (#3811)
Incorporate .DLL symbolic link names fix.
  Make unit tests run. Make gradle run on Windows.
2020-05-04 18:19:35 -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
M. Zeeshan Siddiqui
517bff9675
Function expansion support and Update ONNX to 1.7 release candidate 1. (#3782)
* Function expansion support, Update ONNX to 1.7 release candidate 1.

* Renable disabled tests.
2020-05-01 10:35:16 -07:00
stevenlix
99ec93ea42
Apply onnx-tensorrt bug fixes (#3785)
* merge latest onnx-tensorrt parser

* differentiate kernel names between graph and subgraph

* merge more TRT parser bug fixes

* merge more onnx-tensorrt bug fixes

* fix merge issue

Co-authored-by: stevenlix <stevenlix>
2020-05-01 16:51:48 +08:00
liqunfu
af3988198c
Liqun/e2e transformer test (#3540)
* initial change to transformer.py

* prepare e2e transformer tests

* refactor transformer tests

* put test python files in a flat folder

* fix typo pip install transform(s)

* python 3.6

* python version to 3.6 in install_ubuntu.sh

* remove argparser

* to use opset ver 12

* workaround loss_scale naming patch in case of loss_fn_

* assign self.loss_fn_ so it can be checked

* skip a few un-needed post-process steps

* fix loss_scale_input_name, clean up post process steps

* skip non-frontend tests

* move cpu/cuda related files to coresponding cpu/cuda folder (#3668)

Co-authored-by: Weixing Zhang <wezhan@microsoft.com>

* type cast for ratio is not necessary for dropout (#3682)

Co-authored-by: Weixing Zhang <wezhan@microsoft.com>

* thrustallocator is not needed since cub is used directly for gather now. (#3683)

Co-authored-by: Weixing Zhang <wezhan@microsoft.com>

* GatherND-12 Implementation (#3645)

* Renamed, UT passing

* Move GatherND CUDA Kerenl into onnxruntime

* Merge GatherNDOpTest

* Refactor Test code

* Merge CPU Kernel Impl

* Handle Negative Indice, Fix UT

* Improve CUDA kernel to handle negative index

* Minor Fixes

* Preserve GatherND-1 Cuda kernel

* Fix Mac build

* fix UT

* Fix Build

* fix GatherNDOpTest.double > CUDA error cudaErrorInvalidDeviceFunction:invalid device function

Co-authored-by: Sherlock Huang <bahuang@OrtTrainingDev3.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
Co-authored-by: Peng Wang (pengwa) <pengwa@microsoft.com>

* update with reviewers' comments

* testBertTrainingGradientAccumulation was not using rtol and may fail occasionally with small (e-06) difference

* fix merge mistakes

Co-authored-by: liqun <liqun@OrtTrainingDev4.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
Co-authored-by: Weixing Zhang <weixingzhang@users.noreply.github.com>
Co-authored-by: Weixing Zhang <wezhan@microsoft.com>
Co-authored-by: Sherlock <baihan.huang@gmail.com>
Co-authored-by: Sherlock Huang <bahuang@OrtTrainingDev3.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
Co-authored-by: Peng Wang (pengwa) <pengwa@microsoft.com>
2020-04-30 12:26:38 -07:00
gwang-msft
12d7c2f6e4
iOS cross build on MacOS (#3699)
* Enable iOS cross build on MacOS (step#1)

* Changed parallel option

* fixed style issues

* Enable ios arm64 crossbuild on MacOS

* Enable ios arm64 crossbuild on MacOS

* Enable parallel build for xcode

* Fix arm64 function not 4-byte aligned warning

* Rename onnxruntime_ios.cmake to onnxruntime_ios.toolchain.cmake

* change build.py to use the new ios toolchain file name
2020-04-28 17:09:31 -07:00
Jeff Bloomfield
9a4d1c7720
Merge pull request #3708 from microsoft/jeffbloo/MergeDmlDev
Merge DML Execution Provider updates
2020-04-28 15:19:51 -07:00
Jeff Bloomfield
407492472f Fix build warnings and address PR comment 2020-04-27 13:21:45 -07:00
Ethan Tao
0516e7d22e Merge branch 'ort_public_ort_training' into ettao/ort-2-master 2020-04-27 18:17:17 +00:00
Jeff Bloomfield
1621a1fef1 Merge remote-tracking branch 'upstream/master' into jeffbloo/MergeDmlDev 2020-04-26 17:20:21 -07:00