Commit Graph
139 Commits
Author SHA1 Message Date
Dmitry Razdoburdin 2179baa50c [SYC]. Implementation of HostDeviceVector (#10842) 2024-09-25 04:45:17 +08:00
Dmitry Razdoburdin d7599e095b [SYCL] Add dask support for distributed (#10812) 2024-09-22 02:01:57 +08:00
James Lamb 03bd1183bc [doc] prefer 'cmake -B' and 'cmake --build' everywhere (#10717) 2024-08-22 02:16:55 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 24d225c1ab [SYCL] Implement UpdatePredictionCache and connect updater with leraner. (#10701)
---------

Co-authored-by: Dmitry Razdoburdin <>
2024-08-22 02:07:44 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 0def8e0bae [sycl] fix fitting for fp32 devices (#10702)
Co-authored-by: Dmitry Razdoburdin <>
2024-08-15 03:50:17 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 773ded684b [sycl] Add depth-wise policy (#10690)
Co-authored-by: Dmitry Razdoburdin <>
2024-08-13 18:12:35 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> e555a238bc [SYCL]. Add implementation for loss-guided policy (#10681)
---------

Co-authored-by: Dmitry Razdoburdin <>
2024-08-09 09:04:46 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 7720272870 [sycl] add split applications and tests (#10636)
Co-authored-by: Dmitry Razdoburdin <>
2024-07-26 15:25:49 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> f6cae4da85 [SYCL] Add splits evaluation (#10605)
---------

Co-authored-by: Dmitry Razdoburdin <>
2024-07-22 18:14:06 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 0a3941be6d [sycl] Improve build configuration. (#10548)
Co-authored-by: Dmitry Razdoburdin <>
2024-07-07 02:10:54 +08:00
Jiaming Yuan a39fef2c67 [fed] Fixes for the encrypted GRPC backend. (#10503) 2024-07-02 15:15:12 +08:00
Jiaming Yuan 26eb68859f Consistently report error in tests. (#10453) 2024-06-21 14:35:22 +08:00
Jiaming YuanandPhilip Hyunsu Cho 6c83c8c2ef Allow blocking launch of federated tracker. (#10414)
---------

Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
2024-06-16 01:43:53 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 0c44067736 [SYCL] Optimize gradients calculations. (#10325)
---------

Co-authored-by: Dmitry Razdoburdin <>
2024-06-08 11:53:23 +08:00
Jiaming Yuan c9f5fcaf21 [col] Small cleanup to federated comm. (#10397) 2024-06-07 21:19:04 +08:00
Jiaming YuanandPhilip Hyunsu Cho 7354955cbb Test federated plugin using GitHub action. (#10336)
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
2024-05-29 02:28:14 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 0058301e6f [sycl] optimise hist building (#10311)
Co-authored-by: Dmitry Razdoburdin <>
2024-05-27 10:21:22 +08:00
Dmitry RazdoburdinDmitry Razdoburdin <>Jiaming Yuan
c7e7ce7569 [SYCL] Add nodes initialisation (#10269)
---------

Co-authored-by: Dmitry Razdoburdin <>
Co-authored-by: Jiaming Yuan <jm.yuan@outlook.com>
2024-05-21 23:38:52 +08:00
Jiaming Yuan a5a58102e5 Revamp the rabit implementation. (#10112)
This PR replaces the original RABIT implementation with a new one, which has already been partially merged into XGBoost. The new one features:
- Federated learning for both CPU and GPU.
- NCCL.
- More data types.
- A unified interface for all the underlying implementations.
- Improved timeout handling for both tracker and workers.
- Exhausted tests with metrics (fixed a couple of bugs along the way).
- A reusable tracker for Python and JVM packages.
2024-05-20 11:56:23 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> f588252481 [sycl] add loss guided hist building (#10251)
Co-authored-by: Dmitry Razdoburdin <>
2024-05-10 22:35:13 +08:00
dcc9639b91 [sycl] add data initialisation for training (#10222)
Co-authored-by: Dmitry Razdoburdin <>
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
Co-authored-by: Jiaming Yuan <jm.yuan@outlook.com>
2024-05-05 12:07:10 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 58513dc288 [SYCL] Add sampling initialization (#10216)
---------

Co-authored-by: Dmitry Razdoburdin <>
2024-04-25 04:35:52 +08:00
Jiaming Yuan 3fbb221fec [coll] Implement shutdown for tracker and comm. (#10208)
- Force shutdown the tracker.
- Implement shutdown notice for error handling thread in comm.
2024-04-20 04:08:17 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 6e5c335cea [SYCL] Add basic features for QuantileHistMaker (#10174)
---------

Co-authored-by: Dmitry Razdoburdin <>
2024-04-15 21:24:46 +08:00
Jiaming Yuan 8bad677c2f Update collective implementation. (#10152)
* Update collective implementation.

- Cleanup resource during `Finalize` to avoid handling threads in destructor.
- Calculate the size for allgather automatically.
- Use simple allgather for small (smaller than the number of worker) allreduce.
2024-03-30 18:57:31 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 6a7c6a8ae6 add sycl reaslisation of ghist builder (#10138)
Co-authored-by: Dmitry Razdoburdin <>
2024-03-23 12:55:25 +08:00
Jiaming Yuan 53fc17578f Use std::uint64_t for row index. (#10120)
- Use std::uint64_t instead of size_t to avoid implementation-defined type.
- Rename to bst_idx_t, to account for other types of indexing.
- Small cleanup to the base header.
2024-03-15 18:43:49 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 617970a0c2 [SYCL] Add split evaluation (#10119)
---------

Co-authored-by: Dmitry Razdoburdin <>
2024-03-15 01:46:46 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 7a61216690 [sycl] add partitioning and related tests (#10080)
Co-authored-by: Dmitry Razdoburdin <>
2024-03-02 01:49:27 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 761845f594 [SYCL] Implement row set collection. (#10057)
Co-authored-by: Dmitry Razdoburdin <>
2024-02-26 21:07:36 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 057f03cacc [SYCL] Initial implementation of GHistIndexMatrix (#10045)
Co-authored-by: Dmitry Razdoburdin <>
2024-02-19 04:27:15 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 234674a0a6 [sync]. Add partition builder. (#10011)
---------

Co-authored-by: Dmitry Razdoburdin <>
2024-01-31 17:39:48 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 2a6ab2547d SYCL inference optimization (#9876)
---------

Co-authored-by: Dmitry Razdoburdin <>
2023-12-15 11:04:39 +08:00
Dmitry RazdoburdinandDmitry Razdoburdin <> 43897b8296 Sycl implementation for objective functions (#9846)
---------

Co-authored-by: Dmitry Razdoburdin <>
2023-12-12 14:41:50 +08:00
Jiaming Yuan b3700bbb3f Flexible find protobuf. (#9867) 2023-12-12 07:34:01 +08:00
381f1d3dc9 Add support inference on SYCL devices (#9800)
---------

Co-authored-by: Dmitry Razdoburdin <>
Co-authored-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
Co-authored-by: Alexandra <alexandra.epanchinzeva@intel.com>
2023-12-04 16:15:57 +08:00
Jiaming Yuan e9260de3f3 [breaking] Remove dense libsvm parser plugin. (#9799) 2023-11-23 00:12:39 +08:00
Jiaming Yuan 0715ab3c10 Use dlopen to load NCCL. (#9796)
This PR adds optional support for loading nccl with `dlopen` as an alternative of compile time linking. This is to address the size bloat issue with the PyPI binary release.
- Add CMake option to load `nccl` at runtime.
- Add an NCCL stub.

After this, `nccl` will be fetched from PyPI when using pip to install XGBoost, either by a user or by `pyproject.toml`. Others who want to link the nccl at compile time can continue to do so without any change.

At the moment, this is Linux only since we only support MNMG on Linux.
2023-11-22 19:27:31 +08:00
Jiaming Yuan 06bdc15e9b [coll] Pass context to various functions. (#9772)
* [coll] Pass context to various functions.

In the future, the `Context` object would be required for collective operations, this PR
passes the context object to some required functions to prepare for swapping out the
implementation.
2023-11-08 09:54:05 +08:00
Jiaming Yuan 6c0a190f6d [coll] Add comm group. (#9759)
- Implement `CommGroup` for double dispatching.
- Small cleanup to tracker for handling abort.
2023-11-07 11:12:31 +08:00
Jiaming Yuan 4da4e092b5 [coll] Improvements and fixes for tracker and allreduce. (#9745)
- Allow the tracker to wait.
- Fix allreduce type cast
- Return args from the federated tracker.
2023-11-02 04:06:46 +08:00
Jiaming Yuan bc995a4865 [coll] Add federated coll. (#9738)
- Define a new data type, the proto file is copied for now.
- Merge client and communicator into `FederatedColl`.
- Define CUDA variant.
- Migrate tests for CPU, add tests for CUDA.
2023-11-01 04:06:46 +08:00
Jiaming Yuan 80390e6cb6 [coll] Federated comm. (#9732) 2023-10-31 02:39:55 +08:00
James Lamb eb562d3829 [CI] address cmakelint warnings about whitespace (#9674) 2023-10-14 12:46:07 +08:00
Rong Ou e164d51c43 Improve allgather functions (#9649) 2023-10-12 23:31:43 +08:00
James Lamb db8d117f7e [CI] standardize endif() calls in CMake scripts (#9637) 2023-10-08 11:45:20 +08:00
Jiaming Yuan b438d684d2 Utilities and cleanups for socket. (#9576)
- Use c++-17 nodiscard and nested ns.
- Add bind method to socket.
- Remove rabit parameters.
2023-09-14 01:41:42 +08:00
Jiaming Yuan 972730cde0 Use matrix for gradient. (#9508)
- Use the `linalg::Matrix` for storing gradients.
- New API for the custom objective.
- Custom objective for multi-class/multi-target is now required to return the correct shape.
- Custom objective for Python can accept arrays with any strides. (row-major, column-major)
2023-08-24 05:29:52 +08:00
Jiaming Yuan c1b2cff874 [CI] Check compiler warnings. (#9444) 2023-08-08 12:02:45 -07:00
Philip Hyunsu Cho a5cd2412de Replace setup.py with pyproject.toml (#9021)
* Create pyproject.toml
* Implement a custom build backend (see below) in packager directory. Build logic from setup.py has been refactored and migrated into the new backend.
* Tested: pip wheel . (build wheel), python -m build --sdist . (source distribution)
2023-04-20 13:51:39 -07:00