Commit graph

1092 commits

Author SHA1 Message Date
Guoyu Wang
c5038063ed
Add iOS/macOS static framework (#8357)
* Add ability to generate ios static framework

* Fix typos

* Add pod cache clean, update some comments of previous commit

* Fix CI failure with newly added cpuinfo library

* Update test model (CoreML requires node has a name)

* Addressed CR comments
2021-07-14 16:39:17 -07:00
Edward Chen
16f6904232
[iOS] Packaging pipeline improvements. (#8324)
Updates to the iOS packaging pipeline:
- Make it harder to overwrite package archives accidentally when uploading (fails if the archive already exists)
- Only upload package archives for release builds
- Some clean up
2021-07-13 18:48:28 -07:00
Chi Lo
31f291f0af
Add TRT EP memory leak test into trt perf script (#8155)
* Add memory check for TRT perf

* Revise test app

* Add memory check for TRT perf

* Revise test app

* add test cases

* Modify script and add pipeline YAML

* remove redundant code

* temporarily change

* Change YAML

* revise test app

* fix minor bug

* code refactor

* small fix

* temporarily change for test

* prepare result log

* rm container when it exits

* code refactor
2021-07-13 09:39:08 -07:00
Changming Sun
530d7bb46d
Temporarily disable transformers tool test (#8360) 2021-07-12 20:31:22 -07:00
Chen Fu
df4cb6f301
Adding pytorch cpuinfo as dependency (#8178)
Pytorch cpuinfo library allows us to query current cpu features, micro-architecture and cache size, etc. These information is needed for targeted performance optimizations.

Unfortunately it does not work under Windows/ARM. We need to develop our own later
2021-07-12 14:21:12 -07:00
Guoyu Wang
10142f9510
Add metadata_props to ORT model (#8340)
* Add metadata_props to ORT model

* Minor update

* Update python binding, and increase the minimal pipeline size threshold

* Fixed a small bug in serializing ir_version

* Remove temp ort.py.fbs and add it to .gitignore
2021-07-09 11:28:27 -07:00
Hariharan Seshadri
5369821ad6
Support SpaceDepth ops in the CUDA and ROCM EPs (#7960) 2021-07-09 01:00:22 -07:00
Edward Chen
c254c3c355
Fix issue with ONNX to ORT format model conversion script when given single model file as input. (#8323) 2021-07-07 14:08:47 -07:00
Thiago Crepaldi
9a855fe9e7
Make Torch CPP extension build optional for packaging pipelines (#8305) 2021-07-07 07:24:58 -07:00
baijumeswani
090bae21ab
Pinning pillow version to 8.2.0 to circumvent regression introduced by 8.3.0 (#8303) 2021-07-06 13:02:39 -07:00
Suffian Khan
008c5f7640
Use single builder image across Python versions for ROCm wheels (#8302)
* first attempt share docker image across python and torch versons

* set dependency between jobs

* fix yaml grammer

* remove python version from first stage

* clean deepspeed directroy

* split into two images according torch version

* fix yaml syntax

* invalidate cache

* remove DS to prevent torch 1.9.0 upgrade
2021-07-06 11:56:00 -07:00
baijumeswani
2bda2a62fd
Pin version of Pillow to 8.2.0 to circumvent noncompatibility with numpy (#8278) 2021-07-02 09:05:49 -07:00
Edward Chen
b42e7d2c78
Add iOS packaging pipeline (#8264)
Create a pipeline to produce the iOS package artifacts.
2021-07-02 06:21:59 -07:00
Zuwei Zhao
b46310b349
Integrate onnxruntime-extensions into onnxruntime. (#8143)
Co-authored-by: Zuwei Zhao <zuzhao@microsoft.com>
2021-07-01 09:34:03 -07:00
Guoyu Wang
9b19241b27
Disable update database for Android code coverage (#8182) 2021-06-29 18:50:16 -07:00
Thiago Crepaldi
83be3759bc
Add post-install command to build PyTorch CPP extensions from within onnxruntime package (#8027)
ORTModule requires two PyTorch CPP extensions that are currently JIT compiled. The runtime compilation can cause issues in some environments without all build requirements or in environments with multiple instances of ORTModule running in parallel

This PR creates a custom command to compile such extensions that must be manually executed before ORTModule is executed for the first time. When users try to use ORTModule before the extensions are compiled, an error with instructions are raised

PyTorch CPP Extensions for ORTModule can be compiled by running:
python -m onnxruntime.training.ortmodule.torch_cpp_extensions.install

Full build environment is needed for this
2021-06-28 18:11:58 -07:00
Changming Sun
25db5706bb
Change "Export PyTorch CustomOp" build pipeline to use Ubuntu 20.04 (#8158)
Change "Export PyTorch CustomOp" build pipeline to use Ubuntu 20.04
2021-06-28 16:13:55 -07:00
liqunfu
9366114028
make pipelines to support torch1.8.1 and torch1.9.0 (#8084) 2021-06-25 14:55:49 -07:00
Changming Sun
c716b56f26
Update C++ Standard from 14 to 17 (#8041)
Switched the code to C++17. To build ONNX Runtime on old distros like CentOS 7, you need to install a newer GCC from additionary repos. If you build onnxruntime with the newer GCC, typically the result binary can't be distributed to other places because it depends on the new GCC's runtime libraries, something that the stock OS doesn't have. But on RHEL/CentOS, it can be better. We use Red Hat devtoolset 8/9/10 with CentOS7 building our code. The new library features(like std::filesystem) that not exists in the old C++ runtime will be statically linked into the applications with some restrictions:

1. GCC has dual ABI, but we can only use the old one. It means std::string is still copy-on-write and std::list::size() is still O(n). Also, if you build onnxruntime on CentOS 7 and link it with some binaries that were built on CentOS 8 or Ubuntu with the new ABI and export C++ symbols directly(instead of using a C API), the it won't work.

2. We still can't use std::optional. It is a limitation coming from macOS. We will solve it when we got macOS 11 build machines. It won't be too long.

3. Please avoid to use C++17 in CUDA files(*.cu). Also, the *.h files that they include(like core/framework/float16.h). This is Because CUDA 10.2 doesn't support C++17. You are welcome to use the new features in any *.cc files.
2021-06-25 14:08:01 -07:00
Changming Sun
a41d0db43c
Enable C# GPU tests in Windows GPU CI pipeline (#8142) 2021-06-25 08:11:45 -07:00
Negin Raoof
80b7b134bf
Adding optional ops in contrib ops (#7946)
* Added optional const spec
2021-06-24 13:16:31 -07:00
Hariharan Seshadri
4fd7efcf0d
Update logic in props.xml to account for shared provider library changes (#8138) 2021-06-23 20:41:44 -07:00
Changming Sun
f000dfddbe
Update run_dockerbuild.sh: set default python version based on OS version (#8136) 2021-06-23 15:50:03 -07:00
Edward Chen
b1e21312b5
[Mobile package] Update required operator config with additional ops for newer version of Wav2Vec 2. (#8123)
This is an update to https://github.com/microsoft/onnxruntime/pull/8079
The sample application motivating the original update changed to use an updated version of the model. Now, fewer ops are required. This change removes the previously added ops which are no longer needed.
2021-06-22 19:19:46 -07:00
Changming Sun
6e2b064aec
Delete some unused code in run_dockerbuild.sh and Enable Nuget CUDA tests (#8089)
1. Remove some unused code and simplify tools/ci_build/github/linux/run_dockerbuild.sh.
2. Enable Nuget CUDA tests. The original design was we could leverage Directory.Build.props and let cmake generate the required properties(USE_CUDA/...) there. However, in nuget packaging pipeline we test the package on a different host that doesn't run cmake command and doesn't have the auto-generated Directory.Build.props file.
2021-06-22 18:43:33 -07:00
Chi Lo
27d1784d44
Add TRT 7.1 Pipeline (#8073)
* Revert for testing TensorRT 7.1

* change to origianl googletest version

* change machine

* remove build arg

* change back machine

* revert back googletest version

* Make it ready to merge to master

* revert onnx-tensorrt to v7.1

* rename yml

* use [[ ]] in bash command

* add sudo

* add chmod

* add correct path

* change another way to revert onnx-tensorrt

* change docker image to manylinux build
2021-06-21 20:57:04 -07:00
Changming Sun
cba4bc11c7
Split Linux CPU CI pipeline (#8097) 2021-06-21 10:52:30 -07:00
pengwa
9f5969693a
clean up builds for interop_torch (#8017)
* clean up builds for interop_torch

* add python dependency for executables

* disable onnxruntime_ENABLE_TRAINING_TORCH_INTEROP by default; enable it in ortmodule GPU training pipeline only

* disable training unrelated tests when torch interop is enabled

* simplify the python dependency.

* clean up and fix
2021-06-19 13:41:07 +08:00
baijumeswani
7701c8703e
Add module attribute to ORTModule to support HuggingFace Trainer save_model (#8088) 2021-06-18 13:13:45 -07:00
Olivia Jain
b2247ece25
Make Perf Test Configurable (#7836)
- Allow anyone to kick off a perf test here. Customize: branch, eps, model selection, cuda version.
- Only run shape inference when required.
- Kill errored out memory processes.
- Remove warmup run.
- Clean up script.
- Standalone_TRT is it's own "EP" vs as an additional run with TRT EP
2021-06-18 11:11:19 -07:00
Edward Chen
aa68157c3d
[Mobile package] Update required operator config with additional ops for wav2vec2. (#8079)
Add some additional ops to the mobile package that are needed for the wav2vec2 model.
2021-06-17 13:08:15 -07:00
Changming Sun
96989b83ee
Create python packages for DML (#8061) 2021-06-16 16:59:12 -07:00
Guoyu Wang
32ef39be58
[Android] Move add header files into AAR to using Gradle (#8068)
* Move add header files into AAR to using Gradle

* fix gradle format violation
2021-06-16 12:03:42 -07:00
Ryan Hill
1d8edd0b5b
Fix missing files on linux (#8066) 2021-06-16 11:05:03 -07:00
Changming Sun
96cf533c76 Remove DML from Windows GPU CUDA 10.2 pipeline 2021-06-15 16:53:24 -07:00
Changming Sun
07788e082e
Enable python GPU tests (#7854) 2021-06-15 10:24:58 -07:00
Ye Wang
e6225c62a5
transformers test CI pipeline fix (#8016)
* init checkin

* Restore initial environment

* -y

* testtest

* fix

* fix indent
2021-06-11 12:57:52 -07:00
Suffian Khan
35ca3c99d1
Fix ROCm wheels pipeline after changes to manylinux scripts (#8026)
* update

* try fix rocm pipeline

* avoid already isntalled error

* ignore python3.10 since build fails

* fix

* try setting user

* try again

* try again

* try again

* fix script

* disable inference docs generation

* try print device id

* fix name qual

* try again

* try again

* try again

* provider_options

* add device verify

* rty again

* try again

* try aggain

* print video/render gid

* try again

* run as root

* try again with uid, gid

* cleanup

* run as root

* temp fix

* add /bin/bash

Co-authored-by: Changming Sun <chasun@microsoft.com>
2021-06-10 21:01:28 -07:00
baijumeswani
b2ed4fb0a4
Merge orttraining and ortmodule single gpu ci pipelines (#8022)
* Merge orttraining and ortmodule single gpu ci pipelines

* Remove Debug from orttrainer build config
2021-06-10 15:58:23 -07:00
Changming Sun
b313c4581c
Remove CC/CXX env settings from C API packaging pipeline (#8014) 2021-06-10 11:36:52 -07:00
Changming Sun
c74265667e
Remove CUDA architectures 35 and 86 from GPU packages (#8004)
Because our python packages are oversize.
2021-06-09 17:47:34 -07:00
Ryan Hill
b03383f6d5
Add cuda provides files (#8002) 2021-06-09 15:31:24 -07:00
Changming Sun
aa45545af7
Update orttraining-linux-gpu-perf-test-ci-pipeline.yml (#8005)
I changed the OS version. It's is Ubuntu 20.04 + python 3.8 now. So I need to update the python command.
2021-06-09 10:22:14 -07:00
pengwa
cb5f411da3
Fix Python Packaging Pipeline && Build Clean Up (#7993)
* remove link to python

* revert orttraining-linux-ci build env change introduced by pr
https://github.com/microsoft/onnxruntime/pull/7993.

* fix builds

* fix builds

* clean up

* fix builds

* Fix unused params

* fix some comments.
2021-06-09 17:35:17 +08:00
Ye Wang
d433aa2459
Add transformers tool test to pipeline (#7959)
* checkin transformers pipeline

* add docker requirements

* only trigger linux cpu

* temp remove tf instalation due to numpy version conflicts

* test numpy>=1.7

* revert numpy and disable transformers

* add coloredlogs

* enable shape_infer_helper and install transformers when needed

* pip3?

* testtest

* enable more tets

* line too long

* remove pytorch1.4 test and added back some onnx  files

* add tests

* copy dir

* disable 2 teests

* trim lines

* add missing onnx

* fix type

* fix  version conflicts

* install psutil

* change file path

* mfix path

* remove cached files

* add back attention fusion test

* labeled the shape infer test as slow

* fix

* enable tf2onnx test and enable pytest

* refactor path

* fix typo

* add cwd
2021-06-08 19:43:59 -07:00
Vincent Wang
f0f3012666
Add SoftmaxCrossEntropyLossInternal to Support Dynamic ignore_index Input (#7899)
* add SoftmaxCrossEntropyLossInternal

* bugfix and ut

* fix ut

* fix ut

* support torch1.8.1

* function body for nll_loss_internal
2021-06-09 10:29:46 +08:00
George Wu
47d8977741
add missing provider_options.h in packages (#7995)
* consolidate copy binary script for gpu/trt tarball package

* add provider_options.h

* add provider_options.h
2021-06-08 16:37:05 -07:00
Olivia Jain
861cd0fb24
Increase Python Mac Job Timeout (#7998)
* Increase mac wheel timeout from default 60 to 90
2021-06-08 15:57:21 -07:00
Changming Sun
4ecbae43b2
Use GCC 10 in Linux CPU CI pipeline (#7985) 2021-06-08 11:53:29 -07:00
Bowen Bao
a776b57160
Add shape inference to custom symbolic functions (#7937)
**Description**: As title.

**Motivation and Context**
- PyTorch ONNX exporter heavily depends on ONNX shape inference to export accurate and efficient model. Custom symbolic function exports the op as contrib ops, thus exporter is unable to perform standard onnx shape inference. Models with dynamic shape inputs are affected.
2021-06-08 10:43:06 -07:00