onnxruntime/onnxruntime
Sherlock 8e200e13fe
Rewrite ORTModule background task coordination (#6700)
* Introduce OrtTasks to replace EventPool

* return run_id to frontend

* pass run_id to backward

* OrtTasks support multiple bg_events

* make message_queue a member of orttask

* Replace MessageQueue with std::promise

* Move status_promise into Task

* Move terminate flag into Task

* Reenable previously disabled UTs

* Add unit tests

* Replace condition variables with std::promise

* Move to CreateBackgroundTask in the main thread

* return status and output in forward_future

* use throw for terminating background thread

* cleanup tasks at destructor

* reenable test_mixed_nnmodule_ortmodules_training

* add mutex for ORTTasks functions

* add mutex for bg_threads

* delay tests before start

* add ut for multi-task common backbone

Co-authored-by: Sherlock Huang <bahuang@OrtTrainingDev3.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
2021-02-24 18:00:25 -08:00
..
contrib_ops Longformer Attention CUDA kernel memory Improvements (#6646) 2021-02-16 14:54:48 -08:00
core Rewrite ORTModule background task coordination (#6700) 2021-02-24 18:00:25 -08:00
featurizers_ops/cpu Consolidate MLTypeCallDispatcher classes (#6651) 2021-02-12 13:26:56 -08:00
gsl
python Rewrite ORTModule background task coordination (#6700) 2021-02-24 18:00:25 -08:00
test Update torchtext usage for pytorch transformer sample (#6767) 2021-02-23 14:06:35 -08:00
tool/etw
.style.yapf
__init__.py Sync ORTModule branch with master and fix tests (#6526) 2021-02-02 08:59:56 -08:00
ReformatSource.ps1
ReformatSourcePython.bat
VSCodeCoverage.runsettings