[PRACTICE] Add parallel training to BaggingTrainer#1
Closed
mattsgarlata wants to merge 3 commits intomainfrom
Closed
[PRACTICE] Add parallel training to BaggingTrainer#1mattsgarlata wants to merge 3 commits intomainfrom
mattsgarlata wants to merge 3 commits intomainfrom
Conversation
* Bumping XGBoost to 2.1.3 * Moving to XGBoost 3.0.4 for compatibility. * Pom file updates to latest versions of Maven plugins. * Force XGBoost to save in ubj format, which has been the default since XGBoost 2.1. * Moving from Java 24 to Java 25 in the CI and adding a Linux aarch64 runner. * Adding libomp to macOS github actions. * Adding libomp install to the 21 and 25 macOS CI runs.
Implement parallel training for ensemble models using individual task submission for optimal load balancing across threads. Each model is submitted as a separate task to the executor, allowing threads to grab work as they become available. - Add configurable thread count (numThreads parameter) - Defaults to single-threaded (backward compatible) - Set numThreads=-1 to use all available processors - Use MIN_PRIORITY threads to avoid starving user-facing operations - Maintain reproducibility through pre-generated random seeds - Fall back to sequential training for single-threaded execution Performance testing shows 7-10x speedup with 16 threads on typical workloads, demonstrating substantial benefit from parallelization.
7b56ffe to
083c077
Compare
Added testBaggingParallel() method to exercise the parallel training codepath. The test creates a BaggingTrainer with 2 threads and is integrated into testDenseData(), testSparseData(), and testSparseBinaryData() test methods.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
PRACTICE PR
Verifying we have exactly 1 commit before submitting to oracle/tribuo.
Should show commit: 8f76e13
Changes