Remove SchedulingParams variants of ThreadPool::TryParallelFor #5050
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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