Jiaming Yuan
fd0138c91c
[coll] Improve column split tests with named threads. ( #10735 )
2024-08-24 12:43:47 +08:00
Jiaming Yuan
55aef8f546
[EM] Avoid resizing host cache. ( #10734 )
...
* [EM] Avoid resizing host cache.
- Add SAM allocator and resource.
- Use page-based cache instead of stream-based cache.
2024-08-23 06:34:01 +08:00
Jiaming Yuan
142bdc73ec
[EM] Support SHAP contribution with QDM. ( #10724 )
...
- Add GPU support.
- Add external memory support.
- Update the GPU tree shap.
2024-08-22 05:25:10 +08:00
Jiaming Yuan
cb54374550
Update clang-tidy. ( #10730 )
...
- Install cmake using pip.
- Fix compile command generation.
- Clean up the tidy script and remove the need to load the yaml file.
- Fix modernized type traits.
- Fix span class. Polymorphism support is dropped
2024-08-22 04:12:18 +08:00
Jiaming Yuan
9b88495840
[multi] Implement weight feature importance. ( #10700 )
2024-08-22 02:06:47 +08:00
Jiaming Yuan
402e7837fb
Fix potential race in feature constraint. ( #10719 )
2024-08-21 16:50:31 +08:00
Jiaming Yuan
508ac13243
Check cub errors. ( #10721 )
...
- Make sure cuda error returned by cub scan is caught.
- Avoid temporary buffer allocation in thrust device vector.
2024-08-21 02:50:26 +08:00
Jiaming Yuan
fd365c147e
[doc] Brief note about RMM SAM allocator. [skip ci] ( #10712 )
2024-08-17 04:21:39 +08:00
Jiaming Yuan
ec3f327c20
Add managed memory allocator. ( #10711 )
2024-08-17 03:02:34 +08:00
Jiaming Yuan
8d7fe262d9
[EM] Enable access to the number of batches. ( #10691 )
...
- Expose `NumBatches` in `DMatrix`.
- Small cleanup for removing legacy CUDA stream and ~force CUDA context initialization~.
- Purge old external memory data generation code.
2024-08-17 02:59:45 +08:00
Jiaming Yuan
033a666900
[EM] Log the page size of ellpack. ( #10713 )
2024-08-17 01:35:47 +08:00
Jiaming Yuan
abe65e3769
Reduce thread contention in column split histogram test. ( #10708 )
2024-08-17 01:00:32 +08:00
Jiaming Yuan
2258bc870d
Add more tests and doc for QDM. ( #10692 )
2024-08-16 23:30:04 +08:00
Jiaming Yuan
582ea104b5
[EM] Enable prediction cache for GPU. ( #10707 )
...
- Use `UpdatePosition` for all nodes and skip `FinalizePosition` when external memory is used.
- Create `encode/decode` for node position, this is just as a refactor.
- Reuse code between update position and finalization.
2024-08-15 21:41:59 +08:00
Jiaming Yuan
2ecc85ffad
[EM] Support ExtMemQdm in the GPU predictor. ( #10694 )
2024-08-13 12:21:11 +08:00
Jiaming Yuan
43704549a2
[coll] Reduce the amount of open files (socket). ( #10693 )
...
Reduce the chance of hitting `Failed to call `socket`: Too many open files`.
2024-08-13 05:23:49 +08:00
Jiaming Yuan
d414fdf2e7
[EM] Add GPU version of the external memory QDM. ( #10689 )
2024-08-10 10:49:43 +08:00
Jiaming Yuan
7bccc1ea2c
[EM] CPU implementation for external memory QDM. ( #10682 )
...
- A new DMatrix type.
- Extract common code into a new QDM base class.
Not yet working:
- Not exposed to the interface yet, will wait for the GPU implementation.
- ~No meta info yet, still working on the source.~
- Exporting data to CSR is not supported yet.
2024-08-09 09:38:02 +08:00
Jiaming Yuan
cc3b56fc37
Cleanup GPU Hist tests. ( #10677 )
...
* Cleanup GPU Hist tests.
- Remove GPU Hist gradient sampling test. The same properties are tested in the gradient
sampler test suite.
- Move basic histogram tests into the histogram test suite.
- Remove the header inclusion of the `updater_gpu_hist.cu` in tests.
2024-08-06 11:50:44 +08:00
Jiaming Yuan
6ccf116601
[dask] Reduce the flakiness of tests. ( #10678 )
2024-08-06 06:04:10 +08:00
Jiaming Yuan
3d8107adb8
Support doc link for the sklearn module. ( #10287 )
2024-08-06 02:35:32 +08:00
Jiaming Yuan
a269055b2b
[coll] Use loky for tests. ( #10676 )
...
This makes the tests easier to run and debug. In addition, they can now work on Windows as
well.
2024-08-03 07:33:42 +08:00
Jiaming Yuan
a185b693dc
Reduce warnings and flakiness in tests. ( #10659 )
...
- Fix warnings in tests.
- Try to reduce the flakiness of dask test.
2024-08-03 07:32:47 +08:00
Jiaming Yuan
2e7ba900ef
[CI] Add timeout limit to JVM tests. ( #10673 )
2024-08-03 01:51:13 +08:00
Jiaming Yuan
574c20dc1d
Enable CI build for the federated-secure branch. ( #10671 )
2024-08-02 22:13:17 +08:00
Jiaming Yuan and Philip Hyunsu Cho
77c844cef7
Reduce thread contention in column split tests. ( #10658 )
...
---------
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2024-08-01 18:36:46 +08:00
Jiaming Yuan and Hyunsu Cho
fb77ed7603
[CI] Fix Python wheel workflow. ( #10649 )
...
* [CI] Fix Python wheel workflow.
* Use Python 3.10 for building wheels
---------
Co-authored-by: Hyunsu Cho <phcho@nvidia.com >
2024-07-30 10:13:47 -07:00
Jiaming Yuan
827d0e8edb
[breaking] Bump Python requirement to 3.10. ( #10434 )
...
- Bump the Python requirement.
- Fix type hints.
- Use loky to avoid deadlock.
- Workaround cupy-numpy compatibility issue on Windows caused by the `safe` casting rule.
- Simplify the repartitioning logic to avoid dask errors.
2024-07-30 17:31:06 +08:00
Jiaming Yuan
449be7a402
Quick fix for clang-tidy error. ( #10641 )
2024-07-26 18:21:16 +08:00
Jiaming Yuan
fcae6301ec
[dask] Disable broadcast in the scatter call. ( #10632 )
2024-07-25 04:16:34 +08:00
Jiaming Yuan
485d90218c
Catch exceptions during file read. ( #10623 )
2024-07-23 03:48:19 +08:00
Jiaming Yuan
a19bbc9be5
Avoid caching allocator for large allocations. ( #10582 )
2024-07-23 03:48:03 +08:00
Jiaming Yuan
b2cae34a8e
Fix integer overflow. ( #10615 )
2024-07-23 02:13:15 +08:00
Jiaming Yuan
6d9fcb771e
Move device histogram storage into histogram.cuh. ( #10608 )
2024-07-21 14:10:13 +08:00
Jiaming Yuan
cb62f9e73b
[EM] Prevent init with CUDA malloc resource. ( #10606 )
2024-07-21 05:08:29 +08:00
Jiaming Yuan
0846ad860c
Optionally skip cupy on windows. ( #10611 )
2024-07-20 22:12:12 +08:00
Jiaming Yuan
344ddeb9ca
Drop support for CUDA legacy stream. ( #10607 )
2024-07-20 06:14:56 +08:00
Jiaming Yuan
7ab93f3ce3
[CI] Fix test environment. ( #10609 )
...
* [CI] Fix test environment.
* Remove shell.
* Remove.
* Update Dockerfile.i386
2024-07-18 10:04:17 -07: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
5a92ffe3ca
Partial fix for CTK 12.5 ( #10574 )
2024-07-16 17:41:50 +08:00
Jiaming Yuan
bbd308595a
[jvm-packages] Bump rapids version. ( #10588 )
2024-07-15 20:21:25 +08:00
Jiaming Yuan
5fea9d24f2
Small cleanup for CMake scripts. ( #10573 )
...
- Remove rabit.
2024-07-12 05:18:23 +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
baba3e9eb0
Fix empty partition. ( #10559 )
2024-07-10 13:01:47 +08:00
Jiaming Yuan
8e2b874b4c
[doc] Add notes about RMM and device ordinal. [skip ci] ( #10562 )
...
- Remove the experimental tag, we have been running it for a long time now.
- Add notes about avoiding set CUDA device.
- Add link in parameter.
2024-07-10 13:00:57 +08:00
Jiaming Yuan
3ec74a1ba9
[doc] Add build_info to autodoc. [skip ci] ( #10551 )
2024-07-10 04:05:20 +08:00
Jiaming Yuan
2266db17d1
[R] Update roxygen. ( #10556 )
2024-07-08 17:02:46 +08:00
Jiaming Yuan
00264eb72b
[EM] Basic distributed test for external memory. ( #10492 )
2024-07-06 01:15:20 +08:00
Jiaming Yuan
620b2b155a
Cache GPU histogram kernel configuration. ( #10538 )
2024-07-04 15:38:59 +08:00
Jiaming Yuan
cd1d108c7d
[doc] Fix learning to rank tutorial. [skip ci] ( #10539 )
2024-07-03 22:52:26 +08:00
Jiaming Yuan
6243e7c43d
[doc] Update link to release notes. [skip ci] ( #10533 )
2024-07-03 12:16:53 +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
Jiaming Yuan
e537b0969f
Fix boolean array for arrow-backed DF. ( #10527 )
2024-07-02 17:02:54 +08:00
Jiaming Yuan
d33043a348
[coll] Allow using local host for testing. ( #10526 )
...
- Don't try to retrieve the IP address if a host is specified.
- Fix compiler deprecation warning.
2024-07-02 15:34:38 +08:00
Jiaming Yuan
a39fef2c67
[fed] Fixes for the encrypted GRPC backend. ( #10503 )
2024-07-02 15:15:12 +08:00
Jiaming Yuan
5f0c1e902b
Small cleanup for error message. ( #10502 )
...
- The `Fail` function can handle file location automatically.
- Report concatenated error for connection poll.
- Typos.
2024-07-02 13:36:41 +08: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
824fba783e
Remove support for deprecated format in Python. ( #10490 )
2024-06-27 11:31:53 +08:00
Jiaming Yuan
2d88d17008
Remove deprecated DeviceQuantileDMatrix. ( #10491 )
2024-06-27 11:30:51 +08:00
Jiaming Yuan
26eb68859f
Consistently report error in tests. ( #10453 )
2024-06-21 14:35:22 +08:00
Jiaming Yuan
b38c7fe2ce
2.1.0 release news.( #10378 )
2024-06-21 14:34:53 +08:00
Jiaming Yuan
2b400b18d5
Small cleanup for rowset collection. ( #10401 )
2024-06-19 18:06:23 +08:00
Jiaming Yuan
e5f1720656
[EM] Avoid writing cut matrix to cache. ( #10444 )
2024-06-19 18:03:38 +08:00
Jiaming Yuan
63418d2f35
Link CMAKE_DL_LIBS when dlopen is used. ( #10447 )
2024-06-19 15:06:58 +08:00
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
b4cc350ec5
Fix categorical data with external memory. ( #10433 )
2024-06-18 04:34:54 +08:00
Jiaming Yuan
a8ddbac163
[doc] Fixes for external memory document. ( #10426 )
2024-06-18 03:10:49 +08:00
Jiaming Yuan and Philip Hyunsu Cho
320e7c2041
[CI] Enable CI binary build for the vertical federated learning branch. ( #10417 )
...
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2024-06-17 17:01:04 +08:00
Jiaming Yuan and Philip 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
Jiaming Yuan and Philip Hyunsu Cho
49e25cfb36
Allow unaligned pointer if the array is empty. ( #10418 )
...
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2024-06-15 19:10:21 +08:00
Jiaming Yuan and Philip Hyunsu Cho
bbff74d2ff
[dask] Workaround the tokenizer by changing the scatter function. ( #10419 )
...
---------
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2024-06-15 19:10:00 +08:00
Jiaming Yuan
c9f5fcaf21
[col] Small cleanup to federated comm. ( #10397 )
2024-06-07 21:19:04 +08:00
Jiaming Yuan
9f6608d6aa
Add python 3.12 classifier. ( #10381 )
2024-06-04 18:02:59 +08:00
Jiaming Yuan
43a57c4a85
Bump development version to 2.2. ( #10376 )
2024-06-04 12:59:16 +08:00
Jiaming Yuan
979e392deb
Fix warnings in GPU dask tests. ( #10358 )
2024-06-04 12:58:58 +08:00
Jiaming Yuan
0808e50ae8
Sync stream in ellpack format. ( #10374 )
2024-06-04 12:58:26 +08:00
Jiaming Yuan
7f3e92d71a
Bump the cache github action to 4.0.2. ( #10377 )
2024-06-03 16:52:21 +08:00
Jiaming Yuan
4f48647932
Fix typo. ( #10353 )
2024-06-02 02:07:55 +08:00
Jiaming Yuan
92cba25fe2
Remove reference to R win64 MSVC build. ( #10355 )
2024-06-02 02:06:35 +08:00
Jiaming Yuan
d2d01d977a
Remove unnecessary fetch operations in external memory. ( #10342 )
2024-05-31 13:16:40 +08:00
Jiaming Yuan
c2e3d4f3cd
[dask] Update dask demo for using the new dask backend. ( #10347 )
2024-05-31 08:03:20 +08:00
Jiaming Yuan
e6eefea5e2
[coll] Move the rabit poll helper. ( #10349 )
2024-05-31 08:02:21 +08:00
Jiaming Yuan
2de67f0050
[coll] Prevent race during error check. ( #10319 )
2024-05-28 15:43:16 -07:00
Jiaming Yuan and Philip 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
Jiaming Yuan
5627af6b21
[coll] Increase timeout limit. ( #10332 )
2024-05-28 10:20:49 +08:00
Jiaming Yuan
15eb553c1f
[doc] Add a coarse map for XGBoost features to assist development. [skip ci] ( #10310 )
2024-05-23 14:25:15 +08:00
Jiaming Yuan
966dc81788
[coll] Keep the tracker alive during initialization error. ( #10306 )
2024-05-23 11:13:59 +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
Jiaming Yuan
7a54ca41c9
[CI] Bump checkout action version. ( #10305 )
2024-05-21 16:38:20 +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
ba9b4cb1ee
Fix pylint. ( #10296 )
2024-05-17 13:28:39 +08:00
Jiaming Yuan
835e59e538
Use a thread pool for external memory. ( #10288 )
2024-05-16 19:32:12 +08:00