Commit graph

667 commits

Author SHA1 Message Date
Thiago Crepaldi
5c2e1bbb0a
Fix input schema extrator for ORTModule (#8098) 2021-06-18 21:47:49 -07:00
baijumeswani
7701c8703e
Add module attribute to ORTModule to support HuggingFace Trainer save_model (#8088) 2021-06-18 13:13:45 -07:00
Wei-Sheng Chin
c76172fab6
Fix PythonOp with input which has no gradient (#8011)
* Fix PythonOp with input has no gradient

* Fix another bug which happens when inputs require gradient

* Remove comments

Co-authored-by: Peng Wang <pengwa@microsoft.com>
2021-06-17 00:19:41 +08:00
Vincent Wang
de8f2ecda9
Reduce Kernel Optimization (#8067)
* reduce optimization

* bug fix

* add a check

* add ut

* refactor

* add ut cases for keepdims=true
2021-06-16 19:53:46 +08:00
G. Ramalingam
8079c76383
Create ORT opschema library (#7903)
* Op schema library

* Create ORT opschema library and sample app

* delete message in cmake

* Fix cmake

* Address PR feedback and add dependency

* Add cmake dependency

* Cmake fix

* Add dependency for nsync

* Add dependency for nsync

* Reorder dependencies

* Testing for dependencies on all platforms

* Resolve dependencies on GetStackTrace, floatToHalf

* Compiler strict-aliasing warning

* Merge with master

* Minor cleanup
2021-06-14 14:02:33 -07:00
Jeff Daily
d02de9c1bc
[ROCm] dockerfile updates (#7955)
* do not remove onnxruntime build directory in Dockerfile.rocm4.1.pytorch

* restore ONNX Runtime Training Examples to rocm 4.2 dockerfile
2021-06-10 23:50:19 -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
Sherlock
2a74f5e85b
Save module output for backward if needed (#8010)
* Save module output for backward if needed
2021-06-10 09:56:35 -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
baijumeswani
f38200e209
Override ORTModule named_modules to support extra arg (#7954) 2021-06-08 17:32:09 -07:00
Weixing Zhang
dce76c15e7
add dockfile for ROCm 4.2 (#7749)
* add dockfile for ROCm 4.2
* using rocm/pytorch:rocm4.2_ubuntu18.04_py3.6_pytorch_1.8.1
2021-06-08 08:02:27 -07:00
Vincent Wang
71c4f5ddb2
ATenOp Enhancement (#7725)
* config parser, default argument values

* ut

* win build

* maxpool2d

* fix win build

* fix build

* unfold atenop
2021-06-08 11:01:17 +08:00
pengwa
9e4dc08483
training with custom autograd Functions (#7513)
* Register Torch Custom autograd.Function

* Add flag to supress pybind11 warning

* Avoid unnecessary include in cmake

* Add missing reference

* Add getter for registerred functions

* Format for making subsquent changes cleaner

* Fix interop feature build failure

* Forward pass, run PyOP on CPU EP

* clean up the code

* Fix build

* Define new ops

* refactor pyop - extract PyOpLibProxy class

* Hacks to run example

* implement the kernel compute func

* add back PyOP for comparision experiments

* debug info - thread id

* refine the kernels

* Polish code

(cherry picked from commit 4ed606f9a0)

* Fix a the Tensor address mismatch in C++ side

* PythonOpGrad compute

* add distributed test case

* refine test cases

* get dist.get_rank() in Autograd forward pass

* Add CUDA kernels

* Store float, int, and tuple of them as PythonOp's attributes

* Populate local changes

* Fix bugs

* PythonOp/PythonOpGrad CUDA kernels

* Support non-tensor inputs

* Single GPU FP16 Run Pass

(cherry picked from commit e539989e91e18ee997900292d3493b97d3eafa8a)

* Fix segement

* add basic test cases

* Save progress

* fix gradient builder for a Add op who have same inputs

* add test cases for auto grad fallback feature

* fix ref cnt issue. add thread id for debugging

* POC: remove interface class

* Remove interface classes

* Clean a bit

* Coarse-grained clean up after rebase master

* reset pyop and language_interop_ops to latest master

* Fix missing part during merge

* re-structure torch related language interop files

* Fix build

* Fix tests and build

* Fix build and basic unit tests

* Fix most of uts

* remove unnecessary import

* clean up and fix build when enabling language_interop_ops

* Fix single-GPU UTs

* Move runner register into ORT package

* Update dist UTs to new style

* Also fix distributed UTs and leaf gradient problem

* Static generation for constant args

* Move arg_positions_ to static field

* Rename some functions

* Move arg ceration into a function

* Clean output logic in PythonOp

* Move PythonOp's ctor

* Revise PythonOpGrad

* Fix "ORT only supports contiguous tensor for now" for inputs

* Fix evaulation mode error, add test & clean up

* clean up codes

* Fix issues introduced by recent master change (enabled symbolic shape infer)

* automatically register forward/backward function pointers && clean up

* Fix multi-output case

* Add a test back

* fix build and clean up

* RAII for function params PyObject

* Use new exporter

* Clean full name in new exporter

* Fix UTs

* Format a file

* Add "inplace" back

Remove a legacy comment

* Refine TorchProxy
1. Make TorchProxy a formal singleton class.
2. Remove unused Scope class.
3. Simplify the call to Forward and Backward. The two functions now
   automatically acquire and release GIL state, so user doesn't need
   any GIL-related calls.

* Format

* Add lock to avoid racing condition when registering Python objs

* Fix Python call param ref issues && Add RefcountTracker for debug build && Clean up

* clean up print

* Resolve part of comments && clean up

* Fix a potential bug

* track pyobject consistently

* move kernels to cpu provider as base class

* Refactor - 1. Extract PythonOpBase/PythonOpGradBase 2. Implement CPU kernels 3. Test coverage for CPU kernels

* Refine register code

* Add a missing macro

* Release python call result objects with PythonObjectPtr && Add UnRegisterContext && Track PyObject for Debugging && Clena up

* Fix random segfault issue - relasing a wrong ctx pointer for inplace cases

* put ref count in debug macro

* Move GIL out

* Refine tests

* Fix memory leak issue && forward output lifecycle issue:
1. Unregister the OrtValue PythonObject. Currently, the OrtValue shared same buffer with PythonOp/PythonOpGrad's output. So after those kernels outputs are released, the "leaked" OrtValue caused the shared buffer cannot be released.
2. According PyTorch forward+backward execution. The forward outputs (e.g. torch tensors) maintains the context/saved variables/dirty inputs, etc, which are used for backward execution, so its life should be after the backward runs. This change added such a depencencies between PythonOpGrad on PythonOp.

* Move dlpack->ortvalue into C++ to avoid temp object registration

* Fix the over released Py_False/Py_True && refine tests

* Clean up unused functions

* Always assume the first forward output is context so we don't need to test unused cases.

* Fix a memory leak

* move-copy unique_ptr & avoid C-style casting

* Use inplace attribute to determine if input tensors are copied

* Move DlpackCapsuleDestructor's to a common place

* Thread-safe TorchProxy

* Use OrtValue instead of OrtValue*

* Only keep checks for Debug build

* Wrap some long line per comment

* onnx_export_type --> kwargs

* Use requires_grads to create PythonOpGrad's inputs

* add missing files during master merge

* Fix build issue after merge

* Address two comments.
1. Internalize DlpackCapsuleDestructor
2. Change "(" to "]" for describing closed interval.

* Address some comments.
1. "override" -> "overwrite" to avoid using reserved keyword.
2. Call DLPack's helper to create OrtValue for avoiding repeated code.

* Address comments.
1. Pass std::mutex to registeration helpers so their callers don't
   have to lock the mutex expclicitly.
2. Rename "func_context_pool_mutex_" to "mutex_". This mutex is the global mutex for OrtTorchFunctionPool.

* Add bridging code to make cuda kernels work with merged master

* put debue macro check within RefCountTracker && use default logger for debug info && remove useless ortvalue_ptr interface && typos && revert unncessary blank line changes

* fix some comments

* Resolve more comments

* Capitalize a word

* use unique_ptr instead of ObjectPointer for PyObject management && add converntion

* Support symbolic shape

* Remove unused variable

* fix build

* Enable function registration for training only && rectify ToDlpack/FromDlpack merge with master.

* Don't add context for non-PythonOp opeartors (for example AtenOp)

* Fix build error

* Polish frontend part.
1. Avoid adding kwargs to ORTModule's ctor
2. Use onnx_export_type rather than kwargs for type safty
3. Fix some build bugs.

* Resolve simpler comments

* Resolve export related comments

* sync master && fix tests && fix non-training build error

* Fix build errors

* add target link lib

* windows build error

* Fix orttraining-linux-ci build

* disable autograd test && clean up

* fix linux orttraining ci build

* try fixing win build error

* Revise append calls in runner

* Enable custom function using a function

* Rename to avoid using reservied keyword

* Use list comprehension

* Set ORT random seed in tests

* Remove print code and fix ctx shape

* [] -> list()

* Move autograd.Function and nn.Module into corresponding functions

* Move test helpers

* Polish dist test a bit. Tried move helpers to helper file but it causes a deadlock.

* trying fix undefined reference

* Context is not managed by global pool

* Polish dist test

* Polish dist test

* Add enable_custom_autograd_function

* Remove enable_custom_autograd_function from ctors

* Add doc strings

* Shorter code

* Address comments

* Add one empty line

* revert a minor and not needed change

* Address comments

* Back to reference

* Fix windows builds

* Fix windows debug build fail to find "'python39_d.lib'"

* fix mac build error

* revert _to_contiguous change

* add debugging tag for orttraining-cpu-ci

* Fix the wrong PYTHON_LIBRARIES which is affected by PYTHON_LIBRARY given in build command

* add debugging info

* Fix the build in this case: PYTHON_LIBDIR: /opt/_internal/cpython-3.7.10/lib, PYTHON_EXECUTABLE: /opt/python/cp37-cp37m/bin/python3, PYTHON_MULTIARCH: x86_64-linux-gnu
PYTHON_LIBRARY_PATH python3.7m

* fix build error due to python lib not found

* Fixes
1. Release PyObject's
2. Not useing deepcopy because we assume autograd.Function's
   non-tensor inputs are static (constants) so there should
   be no side effect after calling any autograd.Function
   multiple times.

* Revert dtoc for decreasing refcnt

* add debugging log

* add debugging tag

* Fix a small leak

* Remove ONNX_FALLTHROUGH flag

* debug tag

* debug tag

* fix builds

* remove debug tag

* fix build

* fix builds

* fix build

* install python3 in centos, in case there is no libpython3.xm.so

* build python so for redhat

* add training cpu specific docker, build python so inside

* revert build-cpython change

* try fixing numpy include issue

* install_deps after re-installing cpython

* fix build && remove debug tag

* install openssl before cpython

* let's say: builds pass!

* add build flag for torch iterop, only enable it when training+Python is enabled

* skip ComputeBroadcastBackwardAxesDynamic for the shared inputs

* fix build

* add debug info for padgrad test

* Fix builds

* Split dlpack_converter into C++ and Python interfaces respecitively. Then different build use them as needed.

* clean up the changes

* fix addsubgradient builder

* Fix builds

* clean up

* clean up

* Address some comments.
1. Use pointer wraper to avoid calling Py_DECREF
2. Remove unregister_* functions
3. Allow repeated registration by skipping those with existing keys
4. Unregister context in PythonOpGrad

* Fix over-released Py_Boolean

Co-authored-by: Wei-Sheng Chin <wschin@outlook.com>
2021-06-07 13:01:21 -07:00
Vincent Wang
2b3f953701
Run PadGrad UT for CUDA Only (#7947) 2021-06-04 22:32:08 +08:00
Vincent Wang
a118da160d
pad gradient (#7926)
Co-authored-by: zhijxu <zhijxu@microsoft.com>
2021-06-03 11:05:41 -07:00
Thiago Crepaldi
c45ac166d3
Add graphviz into Dockerfile images for Python API documentation (#7819) 2021-06-02 16:12:54 -07:00
baijumeswani
271a343024
Cache initializers and avoid device check ot end of forward (#7905) 2021-06-02 10:07:49 -07:00
Wei-Sheng Chin
6d9062641c
Basic data parallel tests for ORTModule (#7812)
* Test Pytorch DDP with ORTModule

* Remove unused MP model

* Update orttraining/orttraining/test/python/orttraining_test_ort_module_pytorch_ddp.py

* Update orttraining/orttraining/test/python/orttraining_test_ort_module_pytorch_ddp.py

* Change file name

* Fix import

* Skip a test

* Address a comment

* Add test back
2021-06-01 11:22:45 -07:00
Chandru Ramakrishnan
d8bcb3d6a4
Added virtual destructor to adasum_interface.h (#7882) 2021-05-30 11:11:10 -04:00
Ryan Hill
5a63904aa9
Remove some templated versions of functions that are no longer needed (#7868)
* Switch to non template version of function
2021-05-28 13:22:45 -07:00
baijumeswani
ddf4aaaae1
Resolve issue with wrapped ORTModule load_state_dict (#7847)
* Encapsulate children modules inside a ModuleAccessor object to prevent erroneuos iteration over children while loading the state dictionary

* Add named_models, models, apply methods, change ModuleAccessor to ModuleMetadata and modify unit tests

* Change ModuleMetadata module getter logic, raise NotImplementedError for add_modules

* Add comment explaining why overriding _load_from_state_dict method is needed
2021-05-27 16:11:37 -07:00
Edward Chen
45a7352622
Update Mac CI builds to use macOS-10.15 image, Xcode 12.4. (#7437)
Update Mac CI builds to use macOS-10.15 image, Xcode 12.4.
2021-05-27 09:39:34 -07:00
Sherlock
fc472a04be
Relax tol for Conv1D fp16 test (#7844)
* Relax tol for Conv1D fp16 test

Co-authored-by: Sherlock Huang <bahuang@OrtTrainingDev3.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
2021-05-26 17:04:35 -07:00
Thiago Crepaldi
c5ea5907c0
Fix permission error for ORTModule lock file (#7814) 2021-05-26 14:18:25 -07:00
harshithapv
4fe59c8b29
delete model_copy to save memory allocated in forward call (#7832)
* delete model copy

* add flag

* address comments

* address flag comment

Co-authored-by: root <root@OrtTrainingDev0.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
2021-05-25 22:22:13 -07:00
Jesse Benson
29c68888af Update BERT convergence baseline. 2021-05-25 17:11:46 -07:00
ytaous
ff655175ff
Eliminate no op node - add 0 (#7798)
* eliminate add 0

* typo

* rank check

* fix build

Co-authored-by: Ethan Tao <ettao@OrtTrainingDev4.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
2021-05-25 13:01:34 -07:00
baijumeswani
13a129054f
Prevent unnecessary re-initialization of the graph when model has unused parameters (#7799) 2021-05-22 20:52:26 -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
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
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
Vincent Wang
47b3cc4bde
GatherGrad Bugfix (#7752)
* gathergrad bugfix

* fix win build
2021-05-19 18:53:57 +08: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
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
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
ashbhandare
bfbcc89db1
Add MLFloat16 support for SoftmaxCrossEntropyLoss for CUDA EP (#7679)
* Forward op changes

* Add tests, improve kernel

* add opset 13 registration, remove unnecessary changes

* Add fp16 grad for SCELoss, review comments
2021-05-14 09:00:27 -07:00
baijumeswani
37f69fcee5
Regain performance by caching initializer names in ORTModule (#7685) 2021-05-13 20:54:49 -07:00
raviskolli
4b37901f10
Aten support for rocm (#7680)
* Aten support for rocm

* Removed aten_ops.cc as it is resued from cuda version
2021-05-13 15:56:03 -07:00
Aswin John Mathews
4afdc19958
ROCm optimized layernorm for MI100 (#7682)
* layernorm optimizations

* Changed HIP flag from HIP_VERSION to __HIP_PLATFORM_HCC__
2021-05-13 15:54:06 -07:00
satyajandhyala
d90a99aad5
Fix the build on dev machines by replacing std::tuple with two arguments with std::pair (#7683) 2021-05-13 15:11:51 -07:00
harshithapv
31ca21b782
Replace Where Grad "Mul" with "Where" (#7672)
* replace where grad mul with where

* clean up

* auto formatting

* remove not for second input
2021-05-13 08:54:43 -07:00
Vincent Wang
dac24f7d63
Add ATenOp and call aten::embedding and its Backward Op from ORT (#7590)
* build with libtorch and impl torchembedding

* fix op shape infer

* local commit

* atenfunctionop

* call aten operator from online extension

* rollback build.py

* resolve comments

* bugfix

* fix build

* fix ortmodule test

* remove external outputs, resolve comments

* resolve comments

* export embedding to microsoft::atenop

* bugfix
2021-05-13 09:24:27 +08:00
Weixing Zhang
9241f62e4c
enable MatMulScale and cast propagation for ROCm EP. (#7657) 2021-05-12 13:43:24 -07:00
M. Zeeshan Siddiqui
5d9885f706
Fix BadNames. (#7658) 2021-05-11 16:06:10 -07:00
baijumeswani
c5aeaa9419
Support for unused model initializers (#7631)
* Support for unused model initializers

* Change graph_info.initializer* to sets
2021-05-11 12:26:56 -07:00
satyajandhyala
9f69b2f291
Added InsertAndReduce strategy to PropagateCastOps transformation in addition to FloodFill strategy (#7454)
* Moved GraphTransformerConfiguration to a separate file and added strategy option to PropagateCastOps transformation.

* Added testing both FloodFill and InsertAndReduce stratigies for cast propagation.

* Added AddConsumer and RemoveConsumer functions to in graph.h for efficient graph editing.

* Added PropagateCastOps code documentation

* Added GraphTransformationConfiguration class hierarchy information

* Added RemoveInputOutputUpDownCasts
2021-05-10 20:46:28 -07:00
baijumeswani
08fbfe9607
Resolve issue where a registered buffer was parsed incorrectly as a user input (#7617) 2021-05-10 19:04:27 -07:00