Commit graph

4915 commits

Author SHA1 Message Date
Yulong Wang
b852b73e84
[js][doc] update some part of documents. (#7768)
* [js][doc] update some part of documents.

* resolve comments
2021-05-21 11:42:36 -07:00
baijumeswani
a6ca9f0a40
Use list comprehensions instead of list appends where possible (#7753)
* Use list comprehensions instead of list appends where possible

* Add OrtValueVector class as an opaque object in pybind

* Add dlpack methods to the OrtValueVector pybind class
2021-05-21 10:28:09 -07:00
ashbhandare
db0d608ff0
Fix build errors on Dev machines after PR #7626 merge (#7781)
* two fixes

* more Fixes

* Disable mpi by default

* Revert "Disable mpi by default"

This reverts commit 46c774ad9c6fcb0f3c1a81cd08b7d5e0ba09a985.
2021-05-21 09:45:49 -07:00
Yulong Wang
7c4a5faef5
[wasm] enable DWARF format debug info for ORT WASM (#7777)
* [wasm] enable DWARF format debug info for ORT WASM

* resolve comments
2021-05-21 01:32:00 -07:00
Sherlock
2a02871157
Disable reuse for YieldOp's inputs (FW partial graph's output) (#7767)
* Disable reuse for YieldOp's input

Co-authored-by: Sherlock Huang <bahuang@OrtTrainingDev3.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
2021-05-20 21:39:36 -07:00
Peng
c2435d24ec
Clean up ROCm4.1 Dockerfile build directory (#7732)
* Clean up ROCm4.1 Dockerfile build directory

* remove the UCX and OMPI build directories after installation
2021-05-20 10:04:49 -07:00
Yulong Wang
c91602070d
[js] update version of package "onnxruntime-web" and "onnxruntime-react-native" (#7769) 2021-05-20 09:52:34 -07:00
Hariharan Seshadri
6c252a0bea
Fix builds that use gcc 5 (#7765) 2021-05-20 09:19:04 -07:00
liqunfu
f6eb0f76ae
to used cudnn7 to build onnxruntime-training wheel with Cuda 10.2 support (#7760) 2021-05-20 09:18:41 -07:00
Ryan Hill
c99aa3a3f3
Ryanunderhill/cuda shared (#7626)
* First iteration of making cuda a shared provider.
Separated out shared OpKernel change, so doing this to merge with that change.

* More cuda shared library refactoring

* More cuda shared library refactoring

* More build options tested, converted the training ops over.

* Fix merge breaks

* Fix submodules

* Fix submodules

* Fix submodules

* Fix python

* Fix compile errors

* Duplicate symbol fix

* Test fix for ROCM provider

* Another ROCM test workaround

* ROCM Build Test

* ROCM build fix

* ROCM

* ROCM

* ROCM

* ROCM

* ROCM

* ROCM test

* Reduce header dependencies

* Remove redundant namespace

* Test fix for linux

* Fix linux build

* Fix Eigen build error

* Fix unused parameter warning

* Test link error

* Another linker test

* Linker test

* Linker test

* Another test

* Another build test

* Fix linux link error

* Build test

* Fix control flow ops to use common base class with core code

* Remove extra qualifiers

* Fix template syntax for linux

* Fix cuda memory leak

* Fix pybind

* Test disabling cast

* Cleanup

* Restore cuda in test

* Remove more header dependencies

* Test not adding cuda provider to session

* Make GetProviderInfo_CUDA throw

* No-op cuda provider creation

* Fix some setup issues

* Fix memory cleanup on unload

* Diagnostics

* Don't unload library

* Add diagnostics

* Fix deleting registry at right time.

* Test disabling profiler

* Fix merge break

* Revert profiler change

* Move unloading of shared providers into Environment

* Free more global allocations before library unloads

* Add more diagnostics

* Move unloading back to the OrtEnv as there are multiple Environments created during a session.

Remove some library dependencies for tests.

* Fix more cmake files

* ERROR -> WARNING

* Fix python shutdown

* Test not using dml in pipeline

* Change python version and disable dml

* Update python version

* Test adding unload method for shared providers

* Disable DLL test

* Python test

* Revert "Python test"

This reverts commit c7ec2cfe98.

* Revert "Disable DLL test"

This reverts commit e901cb93aa.

* Revert "Test adding unload method for shared providers"

This reverts commit c427b78799.

* Point to RyanWinGPU

* Revert python version

* Fix id_to_allocator_map

* Another python exit test

* Remove extra debug messages
Try a more clean python shutdown through DllMain

* Revert DllMain idea, it didn't work

* Merge conflicts

* Fix merge with master issues.

* Comments

* Undo edit to file

* Cleanup + new training ops

* Revert yml changes

* Fix another merge error

* ROCM fix

* ROCM fix v2

* Put back Linux hack, it is necessary

* Stupid fixes

* Fix submodule out of sync

* ROCM fix 3

* ROCM 4

* Test java fix

* Fix typos

* Java test on my VM

* Fix build error

* Spotless fix

* Leave temp file around to load properly

* Fix cleanup on exit

* Fix break

* Java comments

* Remove LongformerAttentionBase workaround

* Spotless fix

* Switch yml back to regular build pool

* Revert "Switch yml back to regular build pool"

This reverts commit be35fc2a5a.

* Code review feedback

* Fix errors due to merge

* Spotless fix

* Fix minimal build

* Java fix for non cuda case

* Java fix for CPU build

* Fix Nuphar?

* Fix nuphar 2

* Fix formatting

* Revert "Remove LongformerAttentionBase workaround"

This reverts commit 648679b370.

* Training fix

* Another java fix

* Formatting

* Formatting

* For orttraining

* Last orttraining build fix...

* training fixes

* Fix test provider error

* Missing pass command

* Removed in wrong spot

* Python typo

* Python typos

* Python crash on exit, possibly due to unloading of libraries.

* Remove test_execution_provider from training build
Only enable python atexit on windows
Remove assert on provider library exit

* Still can't unload providers in python, alas.

* Disable Nvtx temporarily

* MPI Kernels for Training

* MPI Kernels part 2

* Patch through INcclService

* Oops, wrong CMakeLists

* Missing namespace

* Fix missing ()

* Move INcclService::GetInstance around to link nicer

* Missing }

* Missing MPI libraries for Cuda

* Add extra GetType functions used by MPI

* Missing Nccl library

* Remove LOGS statements as a test

* Add in a couple more missing GetType methods

* Update comments

* Missed a logging reference in mpi_context.h

* Convert aten_op to shared (due to marge with master)

* Test moving DistributedRunContext instance into shared provider layer
(with purpose error to verify it's being built properly)

* Test passed, now with fix

* Missing static

* Oops, scope DistributedRunContext to just NCCL

* Merge related issues and code review feedback.

* Merge error

* Bump to rel-1.9.1 (#7684)

* Formatting

* Code review feedback for Java build on non Windows

* Remove cupti library dependency from core library

* Test Java pipeline fix

* Linux build fix

* Revert "Linux build fix"

This reverts commit a73a811516.

* Revert "Remove cupti library dependency from core library"

This reverts commit 6a889ee8bf.

* Packaging pipeline fixes to copy cuda shared provider for tensorrt & standard packages

* Add cuda to Tensorrt nuget package

* onnxruntime_common still has a cuda header dependency

Co-authored-by: ashbhandare <ash.bhandare@gmail.com>
2021-05-20 07:53:47 -07:00
Changming Sun
31e6d3f85c
Revert CUPTI profiling feature (#7763)
For unknown reason it causes deadlocks when it is used with CUDA 11.1
2021-05-19 21:54:29 -07:00
Chen Fu
e26c668a9b
add google benchmark as direct dependency (#7762)
Co-authored-by: Chen Fu <fuchen@microsoft.com>

Description:
This change add google benchmark git repo as a submodule in onnxruntime repo.

Motivation and Context
Currently we have benchmarking code that depends on google benchmark. The version we are using has cross compilation issues for ARM CPUs. Recent changes in Google benchmark fixed these issues.

Another problem is that we now rely on ONNX to pull in Google benchmark, an indirect dependency. Updating ONNX involves complex steps and rightly so. However, updating Google benchmark dependency should not be hindered by these processes.
2021-05-19 20:12:17 -07:00
Zhang Lei
38c1c6d2da
using copy to when scale/zp are same in qlinear concat. (#7761)
Fix typo during op construction which not treat zp as constant and affect perf.
2021-05-19 16:43:22 -07:00
alonre24
374acf1423
Disable external initializers build option (#7635)
* Merge set custom allocator to master

* Add documentation for the new API.
Reset global env in testCustomArenaAllocator so won't have a registered allocator of type arena (from previous test)

* Add a session option config that will allow to disable loading model with initializers that have an external data (+test it).

* Add the model used for the test and its external initializers data

* Change the session config option that disable external initializers to a build option.

* Addressing PR comments
2021-05-19 14:16:36 -07:00
Changming Sun
6c868341e3
Fix CUDA 10.2 pipelines (#7759)
1. Move the multi GPU pipeline to CUDA 11.0
2. Exclude the keras2coreml_SimpleRNN_ImageNet model test.
3. Add a test for NV6+CUDA 11.0

BTW, it's known our code doesn’t build with CUDA10.2 + Nvidia T4.
2021-05-19 13:52:06 -07:00
Du Li
fbe6eccc65
[JS/Web] Bug fix for Reshape Pack (#7754) 2021-05-19 11:15:47 -07:00
Uwe L. Korn
203efef147
Add a flag to allow for linking against shared system protobuf (#7577)
In some environments you would like to link to the shared libprotobuf from the system. This is fine to use if you have full control over all protobuf users in your environment.

This need for the existence of this option is already mentioned as a comment in CMakeLists.txt, this adds it now.
2021-05-19 09:37:50 -07:00
Changming Sun
3a68c389d9
Add version lock to manylinux build scripts (#7755) 2021-05-19 09:28:40 -07:00
stevenlix
126afbe450
Fix shape inference warning issue in TensorRT (#7751)
* fix shape inference warning issue

* update shape inference link

* check has_dim_param

* fix typo

* add legacy env variable support in onnx_test_runner
2021-05-19 08:22:10 -07:00
Vincent Wang
47b3cc4bde
GatherGrad Bugfix (#7752)
* gathergrad bugfix

* fix win build
2021-05-19 18:53:57 +08:00
Yufeng Li
75dbc2a35e
use stable onnx.ir_version in test (#7747) 2021-05-18 20:14:57 -07:00
Yulong Wang
077e8c6b40
allow update_version.py to update new npm packages (#7746)
* update versions for npm packages

* remove package-lock.json in list
2021-05-18 16:15:19 -07:00
Rachel Guo
3f204d191b
[CoreML EP] Add Squeeze Op support (#7730)
* add squeeze op builder initial

* fix mistakes

* modify

* enable UT passed and minor refine

* minor formatting

* address comment

Co-authored-by: rachguo <rachguo@rachguos-Mac-mini.local>
2021-05-18 15:12:41 -07:00
Taewoo Kim
d1c531058a Add elseif statement for arm64e 2021-05-18 14:58:58 -07:00
Taewoo Kim
1e6ad669cf Support arm64e for osx
Add arm64e to choices variable
2021-05-18 14:58:58 -07:00
Thiago Crepaldi
e05b15175d
Add cpp ext lock file check during ORTModule init (#7740)
* Add cpp ext lock file check during ORTModule init

* Address comments
2021-05-18 12:57:05 -07:00
Xiaoyu Liu
224a664811
GPT-2 one step search tutorial (#7718)
* GPT2 with one step search tutorial
* remove quantization section

Co-authored-by: Xiaoyu Liu <xiaoyu@xiaoyu-VM.z4vh1dzj5eoevgybsksdpz2izh.jx.internal.cloudapp.net>
2021-05-18 12:31:39 -07:00
Ashwini Khade
7834ca983c
update optimizers for opset14 (#7722)
* update optimizers for opset14

* plus 1 more

* fix reshape fusion
2021-05-18 11:58:14 -07:00
Changming Sun
26a472c948
Increase test timeout from 1 hour to 2 hours (#7735)
I saw a test timeout in our nodejs packaging pipeline. I'm not sure if it is because it ran slower than before or it's a deadlock issue. Increasing the timeout will be helpful for investigating such issues.
2021-05-18 10:51:58 -07:00
baijumeswani
e161213f8e
Handle model with no parameters (#7736)
* Handle model with no parameters

* Set the minimum module_output_grads as 0 to handle parameterless models
2021-05-18 09:33:57 -07:00
Yulong Wang
96deec596f
fix npm test for webgl without wasm artifacts (#7742) 2021-05-18 09:19:19 -07:00
Xueyun Zhu
e92b3c1394
bumping up version number to 1.8 (#7733)
* bump to 1.8

* fix windows AI
2021-05-18 09:03:37 -07:00
Du Li
e4a985ff17
[JS/Web] WebGL Profiling Tool (#7724) 2021-05-18 06:31:00 -07:00
Hariharan Seshadri
43e2ee37f2
Some cosmetic changes (#7741) 2021-05-18 00:02:07 -07:00
stevenlix
a6972c8782
Fix issues in TensorRT provider options (#7738)
* add legacy env variable support in pybind

* formating code
2021-05-17 23:07:27 -07:00
Young Jin Kim
e9057d2e49
ZCode FastFormers changes (#5827)
* Add FBGEMM submodule

* Add fbgemm based per-channel quantization

* Add missing logic for pre-layernorm transformer model fusion

* add support for structured pruning architecture -fastformers

* Fix windows build

* Add a default behavior when head_size is not present for the backward compatibility

* Remove FBGEMM and default to tensor-wise quantization, column-wise quantization will be enabled later

* Fixed some unit test errors

* Fix windows compile error and unit test errors

* delete the option removed from the upstream

* Addresses review comments and fixes a merge error

* Remove commented out code

* add non-zero zp support

* support A and B scale with any dimensions

* fix build breaks

* fix warning in MSVC

* Fix bug for not checking original float value names when treat it as not existing.

* Clean up head size

* Clean up python tools

* Enable per column quantization

* fix quant weight cleanup bug

* A few code clean up

* Some code clean-up

* Some code clean-up

* Change option name

* update default value

* Rename option and parameter names

* Missing argument name change

* Add tests for quantization options for attention and matmul

Co-authored-by: Yufeng Li <liyufeng1987@gmail.com>
Co-authored-by: Lei Zhang <zhang.huanning@hotmail.com>
2021-05-17 21:12:21 -07:00
Changming Sun
38d90b0f15
Cleanup install_deps.sh (#7734) 2021-05-17 19:27:47 -07:00
Yufeng Li
9075488368
Add per-column support for QLinearMatMul (#7729)
* Add per-column support for QLinearMatMul
2021-05-17 18:57:42 -07:00
Du Li
d3c4b70ede
[Web/JS] Fixing two bugs in reshape_pack and im2col_pack (#7689)
* fixing two bugs in reshape_pack and im2col_pack

* minor fix

* fix lint complaints
2021-05-17 18:28:09 -07:00
Xueyun Zhu
79854dda8f
bumping up verson (#7731) 2021-05-17 17:55:42 -07:00
Jesse Benson
f977644324 ROCM support int reductions 2021-05-17 16:42:06 -07:00
Sunghoon
da5f24bd2d
Support additional session options and run options in WebAssembly (#7712)
* add all session options and run options in C API except AddInitializer and AddFreeDimensionOverride

* remove unnecessary comment

* change extra session and run options to object notation

* resolve comments

* use an optional chaining for options

* resolve comments
2021-05-17 14:57:19 -07:00
Tixxx
6d9f541442
[JS]moved logging level flag to global env (#7700)
* moved logging level flag to global env

* added setter and getter for loggingLevel in Env

* moved implementation of env to a separate file
2021-05-17 14:16:59 -07:00
Ye Wang
5e8086ad8e
Support fusions inside subgraphs in optimizer tool (#7701)
* skip subgraph when updating model

* intreim checkin

* interim checkin 2

* support transformers optimizations in subgraph

* change more files

* fix comments typo
2021-05-17 12:43:55 -07:00
Zhang Lei
ad95b19322
Help build pass on ubuntu 16.04 with old g++. (#7706) 2021-05-17 11:37:00 -07:00
Yufeng Li
0e48187b4e
Add type checks for QDQ transformer (#7715) 2021-05-17 10:48:20 -07:00
baijumeswani
c873f5589d
Fix bug where the output names were sorted lexicographically (#7709) 2021-05-17 10:27:20 -07:00
Thiago Crepaldi
6c41ed597b
Add custom autograd function to prevent input passthrough on ORTModule (#7694)
* Changes for investigation

* Gradient for Identity

* Keep Identity betwen YieldOp and GraphOutput

* Revert debugging changes

* Add custom autograd fn to prevent input passthrough on ORTModule

* Add comment

Co-authored-by: Sherlock Huang <bahuang@OrtTrainingDev3.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
2021-05-17 09:56:02 -07:00
Thiago Crepaldi
4fe2ffae16
Fix ORTModule python doc generation (#7704)
* Fix ORTModule python doc generation

* Address comment
2021-05-17 09:55:49 -07:00
Hariharan Seshadri
ebee380911
Partially revert PR #7348 (#7702) 2021-05-16 23:56:13 -07:00