oneDAL icon indicating copy to clipboard operation
oneDAL copied to clipboard

init parallel trees method

Open Alexandr-Solovev opened this issue 8 months ago • 5 comments

Description

Summary

This PR introduces a new method local_trees for the Random Forest implementation. The method builds local trees independently on each GPU node, enabling efficient parallelization and improved scaling.

Key Changes

  • ✅ Added local_trees method for distributed tree construction across GPUS.
  • ✅ Introduced functionality to copy local trained models in the global model.
  • ✅ Added explicit calls for model serialization and deserialization(the distributed process based on the serialize local models -> allgather local models -> deserialize local models -> copy local models in the global model).

PR completeness and readability

  • [x] I have reviewed my changes thoroughly before submitting this pull request.
  • [x] I have commented my code, particularly in hard-to-understand areas.
  • [x] I have updated the documentation to reflect the changes or created a separate PR with update and provided its number in the description, if necessary.
  • [x] Git commit message contains an appropriate signed-off-by string (see CONTRIBUTING.md for details).
  • [x] I have added a respective label(s) to PR if I have a permission for that.
  • [x] I have resolved any merge conflicts that might occur with the base branch.

Testing

  • [x] I have run it locally and tested the changes extensively.
  • [x] All CI jobs are green or I have provided justification why they aren't.
  • [x] I have extended testing suite if new functionality was introduced in this PR.

Performance

  • [x] I have measured performance for affected algorithms using scikit-learn_bench and provided at least summary table with measured data, if performance change is expected.
  • [x] I have provided justification why performance has changed or why changes are not expected.
  • [x] I have provided justification why quality metrics have changed or why changes are not expected.
  • [x] I have extended benchmarking suite and provided corresponding scikit-learn_bench PR if new measurable functionality was introduced in this PR.

Alexandr-Solovev avatar Mar 24 '25 13:03 Alexandr-Solovev

/intelci: run

Alexandr-Solovev avatar Apr 03 '25 12:04 Alexandr-Solovev

/intelci: run

Alexandr-Solovev avatar Apr 03 '25 14:04 Alexandr-Solovev

/intelci: run

Alexandr-Solovev avatar May 07 '25 18:05 Alexandr-Solovev

/intelci: run

ethanglaser avatar Jun 26 '25 19:06 ethanglaser

/intelci: run

Alexandr-Solovev avatar Jun 27 '25 14:06 Alexandr-Solovev

/intelci: run

Alexandr-Solovev avatar Jun 30 '25 07:06 Alexandr-Solovev