Jiaming Yuan
a19bbc9be5
Avoid caching allocator for large allocations. ( #10582 )
2024-07-23 03:48:03 +08:00
Dmitry Razdoburdin
f6cae4da85
[SYCL] Add splits evaluation ( #10605 )
...
---------
Co-authored-by: Dmitry Razdoburdin <>
2024-07-22 18:14:06 +08:00
Jiaming Yuan
6d9fcb771e
Move device histogram storage into histogram.cuh. ( #10608 )
2024-07-21 14:10:13 +08:00
Jiaming Yuan
292bb677e5
[EM] Support mmap backed ellpack. ( #10602 )
...
- Support resource view in ellpack.
- Define the CUDA version of MMAP resource.
- Define the CUDA version of malloc resource.
- Refactor cuda runtime API wrappers, and add memory access related wrappers.
- gather windows macros into a single header.
2024-07-18 08:20:21 +08:00
Jiaming Yuan
e9fbce9791
Refactor DeviceUVector. ( #10595 )
...
Create a wrapper instead of using inheritance to avoid inconsistent interface of the class.
2024-07-18 03:33:01 +08:00
Jiaming Yuan
a6a8a55ffa
Merge approx tests. ( #10583 )
2024-07-16 19:03:48 +08:00
Jiaming Yuan
6c403187ec
Fix column split race condition. ( #10572 )
2024-07-12 01:07:12 +08:00
Jiaming Yuan
1ca4bfd20e
Avoid thrust vector initialization. ( #10544 )
...
* Avoid thrust vector initialization.
- Add a wrapper for rmm device uvector.
- Split up the `Resize` method for HDV.
2024-07-11 17:29:27 +08:00
Jiaming Yuan
89da9f9741
[fed] Split up federated test CMake file. ( #10566 )
...
- Collect all federated test files into the same directory.
- Independently list the files.
2024-07-11 13:09:18 +08:00
Jiaming Yuan
5f910cd4ff
[EM] Handle base idx in GPU histogram. ( #10549 )
2024-07-11 03:26:30 +08:00
Jiaming Yuan
34b154c284
Avoid the use of size_t in the partitioner. ( #10541 )
...
- Avoid the use of size_t in the partitioner.
- Use `Span` instead of `Elem` where `node_id` is not needed.
- Remove the `const_cast`.
- Make sure the constness is not removed in the `Elem` by making it reference only.
size_t is implementation-defined, which causes issue when we want to pass pointer or span.
2024-07-11 00:43:08 +08:00
Jiaming Yuan
620b2b155a
Cache GPU histogram kernel configuration. ( #10538 )
2024-07-04 15:38:59 +08:00
Jiaming Yuan
628411a654
Enhance the threadpool implementation. ( #10531 )
...
- Accept an initialization function.
- Support void return tasks.
2024-07-03 12:13:27 +08:00
Jiaming Yuan
9cb4c938da
[EM] Move prefetch in reset into the end of the iteration. ( #10529 )
2024-07-03 03:48:18 +08:00
Philip Hyunsu Cho
09d32f1f2b
Fix build and C++ tests for FreeBSD ( #10480 )
2024-06-28 01:47:55 -07:00
Jiaming Yuan
e8a962575a
[EM] Allow staging ellpack on host for GPU external memory. ( #10488 )
...
- New parameter `on_host`.
- Abstract format creation and stream creation into policy classes.
2024-06-28 04:42:18 +08:00
Jiaming Yuan
26eb68859f
Consistently report error in tests. ( #10453 )
2024-06-21 14:35:22 +08:00
Jiaming Yuan
e5f1720656
[EM] Avoid writing cut matrix to cache. ( #10444 )
2024-06-19 18:03:38 +08:00
Jiaming Yuan
b9e5229ff2
Update rapids ( #10435 )
...
* [CI] Update RAPIDS to latest stable
* RMM.
---------
Co-authored-by: hcho3 <2532981+hcho3@users.noreply.github.com>
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
2024-06-18 05:01:57 +08:00
Jiaming Yuan
c9f5fcaf21
[col] Small cleanup to federated comm. ( #10397 )
2024-06-07 21:19:04 +08:00
Jiaming Yuan
d2d01d977a
Remove unnecessary fetch operations in external memory. ( #10342 )
2024-05-31 13:16:40 +08:00
Jiaming Yuan
e6eefea5e2
[coll] Move the rabit poll helper. ( #10349 )
2024-05-31 08:02:21 +08:00
Jiaming Yuan
d5fcbee44b
Add timeout for distributed tests. ( #10315 )
2024-05-23 11:11:49 +08:00
Jiaming Yuan
1b25d23583
[JVM-packages] Prevent memory leak. ( #10307 )
2024-05-22 13:47:59 +08:00
Dmitry Razdoburdin
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
Jiaming Yuan
835e59e538
Use a thread pool for external memory. ( #10288 )
2024-05-16 19:32:12 +08:00
Dmitry Razdoburdin
f588252481
[sycl] add loss guided hist building ( #10251 )
...
Co-authored-by: Dmitry Razdoburdin <>
2024-05-10 22:35:13 +08:00
Dmitry Razdoburdin
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
Jiaming Yuan
5e64276a9b
Update nvtx. ( #10227 )
2024-04-29 06:33:46 +08:00
Dmitry 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
Jiaming Yuan
3f64b4fde3
[coll] Add global functions. ( #10203 )
2024-04-19 03:17:23 +08:00
Jiaming Yuan
4b10200456
[coll] Improve event loop. ( #10199 )
...
- Add a test for blocking calls.
- Do not require the queue to be empty after waking up; this frees up the thread to answer blocking calls.
- Handle EOF in read.
- Improve the error message in the result. Allow concatenation of multiple results.
2024-04-18 03:29:52 +08:00
Dmitry 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
Jiaming Yuan
230010d9a0
Cleanup set info. ( #10139 )
...
- Use the array interface internally.
- Deprecate `XGDMatrixSetDenseInfo`.
- Deprecate `XGDMatrixSetUIntInfo`.
- Move the handling of `DataType` into the deprecated C function.
---------
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
2024-03-26 23:26:24 +08:00
Dmitry 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 Razdoburdin
617970a0c2
[SYCL] Add split evaluation ( #10119 )
...
---------
Co-authored-by: Dmitry Razdoburdin <>
2024-03-15 01:46:46 +08:00
Jiaming Yuan
1450aebb74
Fix pairwise objective with NDCG metric along with custom gain. ( #10100 )
...
* Fix pairwise objective with NDCG metric.
- Allow setting `ndcg_exp_gain` for `rank:pairwise`.
This is useful when using pairwise for objective but ndcg for metric.
2024-03-11 14:54:10 +08:00
Jiaming Yuan
2c13f90384
Support graphviz plot for multi-target tree. ( #10093 )
2024-03-09 05:35:25 +08:00
Jiaming Yuan
d07b7fe8c8
Small cleanup for mock tests. ( #10085 )
2024-03-04 23:32:11 +08:00
Dmitry Razdoburdin
7a61216690
[sycl] add partitioning and related tests ( #10080 )
...
Co-authored-by: Dmitry Razdoburdin <>
2024-03-02 01:49:27 +08:00
Jiaming Yuan
8189126d51
Add CUDA iterator to tensor view. ( #10074 )
2024-03-01 14:15:31 +08:00
Dmitry Razdoburdin
761845f594
[SYCL] Implement row set collection. ( #10057 )
...
Co-authored-by: Dmitry Razdoburdin <>
2024-02-26 21:07:36 +08:00
Jiaming Yuan
0ce4372bd4
Use UBJSON for serializing splits for vertical data split. ( #10059 )
2024-02-25 00:18:23 +08:00
Jiaming Yuan
2e4ea5ecc0
Support f64 for ubjson. ( #10055 )
2024-02-21 02:18:42 +08:00
Jiaming Yuan
d37b83e8d9
Fix UBJSON with boolean value. ( #10054 )
2024-02-20 22:13:51 +08:00
Louis Desreumaux
edf501d227
Implement contribution prediction with QuantileDMatrix ( #10043 )
...
---------
Co-authored-by: Jiaming Yuan <jm.yuan@outlook.com>
2024-02-19 21:03:29 +08:00