Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove SchedulingParams variants of ThreadPool::TryParallelFor #5050

Merged
merged 4 commits into from Sep 3, 2020

Conversation

@tlh20
Copy link
Contributor

tlh20 commented Sep 3, 2020

Description: Simplify the range of parallel loops implemented in the thread pool by removing the variants based on SchedulingParams. This leaves the variant that takes a simple double to express costs, and the variant that takes a TensorOpCost struct.

Motivation and Context
The parallel loop variants taking a SchedulingParams were essentially unused, but supporting them introduced complexity in writing and testing other changes to the thread pool implementation. The single use is in the gelu.cc microbenchmark which uses SchedulingParams to force a fixed 4096-size chunk for work distribution. I updated the microbenchmark to do this chunking explicitly, following the code in onnxruntime/contrib_ops/cpu/bert/bias_gelu.cc

@tlh20 tlh20 requested review from snnn and pranavsharma Sep 3, 2020
@tlh20 tlh20 marked this pull request as ready for review Sep 3, 2020
@tlh20 tlh20 requested a review from microsoft/onnxruntime as a code owner Sep 3, 2020
@tlh20 tlh20 changed the title Dev/tiharr removesched Remove SchedulingParams variants of ThreadPool::TryParallelFor Sep 3, 2020
@snnn
snnn approved these changes Sep 3, 2020
@snnn snnn merged commit bbb9d92 into master Sep 3, 2020
40 checks passed
40 checks passed
Android CI Pipeline Build #20200903.3 succeeded
Details
Linux CPU CI Pipeline Build #20200903.6 succeeded
Details
Linux CPU x64 NoContribops CI Pipeline Build #20200903.3 succeeded
Details
Linux DNNL CI Pipeline Build #20200903.3 succeeded
Details
Linux GPU CI Pipeline Build #20200903.4 succeeded
Details
Linux GPU TensorRT CI Pipeline Build #20200903.3 succeeded
Details
Linux Nuphar CI Pipeline Build #20200903.3 succeeded
Details
Linux OpenVINO CI Pipeline Build #20200903.3 succeeded
Details
MacOS CI Pipeline Build #20200903.4 succeeded
Details
MacOS NoContribops CI Pipeline Build #20200903.3 succeeded
Details
Windows CPU CI Pipeline Build #20200903.3 succeeded
Details
Windows CPU CI Pipeline (build debug) build debug succeeded
Details
Windows CPU CI Pipeline (build release) build release succeeded
Details
Windows CPU CI Pipeline (build_x64_no_contrib_ops debug) build_x64_no_contrib_ops debug succeeded
Details
Windows CPU CI Pipeline (build_x64_no_contrib_ops release) build_x64_no_contrib_ops release succeeded
Details
Windows CPU CI Pipeline (x86_build debug) x86_build debug succeeded
Details
Windows CPU CI Pipeline (x86_build release) x86_build release succeeded
Details
Windows CPU CI Pipeline (x86_no_contrib_ops debug) x86_no_contrib_ops debug succeeded
Details
Windows CPU CI Pipeline (x86_no_contrib_ops release) x86_no_contrib_ops release succeeded
Details
Windows GPU CI Pipeline Build #20200903.4 succeeded
Details
Windows GPU CI Pipeline (build debug) build debug succeeded
Details
Windows GPU CI Pipeline (build release) build release succeeded
Details
Windows GPU TensorRT CI Pipeline Build #20200903.4 succeeded
Details
Windows GPU TensorRT CI Pipeline (build debug) build debug succeeded
Details
Windows GPU TensorRT CI Pipeline (build release) build release succeeded
Details
centos7_cpu Build #20200903.4 succeeded
Details
centos7_cpu (linux_centos_ci Debug) linux_centos_ci Debug succeeded
Details
centos7_cpu (linux_centos_ci Release) linux_centos_ci Release succeeded
Details
license/cla All CLA requirements met.
Details
orttraining-linux-ci-pipeline Build #20200903.3 succeeded
Details
orttraining-linux-gpu-ci-pipeline Build #20200903.4 succeeded
Details
orttraining-linux-gpu-ci-pipeline (Onnxruntime_Linux_GPU_Training Debug) Onnxruntime_Linux_GPU_Training Debug succeeded
Details
orttraining-linux-gpu-ci-pipeline (Onnxruntime_Linux_GPU_Training Release) Onnxruntime_Linux_GPU_Training Release succeeded
Details
orttraining-mac-ci-pipeline Build #20200903.3 succeeded
Details
orttraining-win-ci-pipeline Build #20200903.3 succeeded
Details
orttraining-win-ci-pipeline (Win_CPU_Training Debug) Win_CPU_Training Debug succeeded
Details
orttraining-win-ci-pipeline (Win_CPU_Training RelWithDebInfo) Win_CPU_Training RelWithDebInfo succeeded
Details
orttraining-win-gpu-ci-pipeline Build #20200903.7 succeeded
Details
orttraining-win-gpu-ci-pipeline (Win_GPU_Training Debug) Win_GPU_Training Debug succeeded
Details
orttraining-win-gpu-ci-pipeline (Win_GPU_Training RelWithDebInfo) Win_GPU_Training RelWithDebInfo succeeded
Details
@snnn snnn deleted the dev/tiharr-removesched branch Sep 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.