Jiaming Yuan
68a8865bc5
[CI] Fix PyLint errors. ( #10837 )
2024-09-24 14:09:32 +08:00
Jiaming Yuan
e228c1a121
[EM] Make page concatenation optional. ( #10826 )
...
This PR introduces a new parameter `extmem_concat_pages` to make the page concatenation optional for GPU hist. In addition, the document is updated for the new GPU-based external memory.
2024-09-24 06:19:28 +08:00
Dmitry Razdoburdin
d7599e095b
[SYCL] Add dask support for distributed ( #10812 )
2024-09-22 02:01:57 +08:00
Jiaming Yuan
2a37a8880c
Check correct dump format for gblinear. ( #10831 )
2024-09-21 00:32:52 +08:00
Jiaming Yuan
24241ed6e3
[EM] Compress dense ellpack. ( #10821 )
...
This helps reduce the memory copying needed for dense data. In addition, it helps reduce memory usage even if external memory is not used.
- Decouple the number of symbols needed in the compressor with the number of features when the data is dense.
- Remove the fetch call in the `at_end_` iteration.
- Reduce synchronization and kernel launches by using the `uvector` and ctx.
2024-09-20 18:20:56 +08:00
Jiaming Yuan
d5e1c41b69
[coll] Use loky for rabit op tests. ( #10828 )
2024-09-20 16:46:05 +08:00
Jiaming Yuan
96bbf80457
[EM] Suport quantile objectives for GPU-based external memory. ( #10820 )
...
- Improved error message for memory usage.
- Support quantile-based objectives for GPU external memory.
2024-09-17 13:27:02 +08:00
Jiaming Yuan
d94f6679fc
[EM] Avoid synchronous calls and unnecessary ATS access. ( #10811 )
...
- Pass context into various functions.
- Factor out some CUDA algorithms.
- Use ATS only for update position.
2024-09-10 14:33:14 +08:00
Jiaming Yuan
ed5f33df16
[EM] Multi-level quantile sketching for GPU. ( #10813 )
2024-09-10 13:08:34 +08:00
Dmitry Razdoburdin
bba6aa74fb
[SYCL] Fix for sycl support with sklearn estimators ( #10806 )
...
---------
Co-authored-by: Dmitry Razdoburdin <>
2024-09-09 14:14:07 +08:00
Jiaming Yuan
5f7f31d464
[EM] Refactor ellpack construction. ( #10810 )
...
- Remove the calculation of n_symbols in the accessor.
- Pack initialization steps into the parameter list.
- Pass the context into various ctors.
- Specialization for dense data to prepare for further compression.
2024-09-09 14:10:10 +08:00
Jiaming Yuan
e1a2c1bbb3
[EM] Merge GPU partitioning with histogram building. ( #10766 )
...
- Stop concatenating pages if there's no subsampling.
- Use a single iteration for histogram build and partitioning.
2024-08-31 03:25:37 +08:00
Jiaming Yuan
98ac153265
Avoid warning from NVCC. ( #10757 )
2024-08-30 16:11:31 +08:00
Jiaming Yuan
34d4ab455e
[EM] Avoid stream sync in quantile sketching. ( #10765 )
...
.
2024-08-30 12:33:24 +08:00
Jiaming Yuan
61dd854a52
[EM] Refactor GPU histogram builder. ( #10764 )
...
- Expose the maximum number of cached nodes to be consistent with the CPU implementation. Also easier for testing.
- Extract the subtraction trick for easier testing.
- Split up the `GradientQuantiser` to avoid circular dependency.
2024-08-30 02:39:14 +08:00
Jiaming Yuan
34937fea41
[EM] Python wrapper for the ExtMemQuantileDMatrix. ( #10762 )
...
Not exposed to the document yet.
- Add C API.
- Add Python API.
- Basic CPU tests.
2024-08-29 04:08:25 +08:00
Jiaming Yuan
4fe67f10b4
[EM] Have one partitioner for each batch. ( #10760 )
...
- Initialize one partitioner for each batch.
- Collect partition size during initialization.
- Support base ridx in the finalization.
2024-08-29 01:35:17 +08:00
Philip Hyunsu Cho
7794d3da8a
Ensure that pip check does not fail due to bad platform tag ( #10755 )
...
* Remove custom tag generation
* Revert "Remove custom tag generation"
This reverts commit fe3cf0e8786c7dc05e1deced3a1c92cd79094735.
* Fetch an accurate platform tag from Pip 22+
* Fix formatting
* TOML allows trailing commas
* Update patch
* Add trailing comma
* Fix up patch
* Use `packaging`
Co-authored-by: jakirkham <jakirkham@gmail.com>
---------
Co-authored-by: jakirkham <jakirkham@gmail.com>
2024-08-27 18:11:08 -07:00
Jiaming Yuan
64afe9873b
Increase timeout in C++ tests from 1 to 5 seconds. ( #10756 )
...
To avoid CI failures on FreeBSD.
2024-08-28 02:27:14 +08:00
Jiaming Yuan
bde1265caf
[EM] Return a full DMatrix instead of a Ellpack from the GPU sampler. ( #10753 )
2024-08-28 01:05:11 +08:00
Jiaming Yuan
d6ebcfb032
[EM] Support CPU quantile objective for external memory. ( #10751 )
2024-08-27 04:16:57 +08:00
david-cortes
12c6b7ceea
[R] Remove demos ( #10750 )
2024-08-27 04:16:36 +08:00
Jiaming Yuan
06c4246ff1
[CI] Workaround mypy errors. ( #10754 )
2024-08-27 02:54:11 +08:00
Jiaming Yuan
25966e4ba8
[EM] Pass batch parameter into extmem format. ( #10736 )
...
- Allow customization for format reading.
- Customize the number of pre-fetch batches.
2024-08-27 02:37:50 +08:00
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
Philip Hyunsu Cho
cd83fe6033
[breaking][CI] Use CTK 12.4 ( #10697 )
2024-08-21 19:59:34 -07: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
Dmitry Razdoburdin
24d225c1ab
[SYCL] Implement UpdatePredictionCache and connect updater with leraner. ( #10701 )
...
---------
Co-authored-by: Dmitry Razdoburdin <>
2024-08-22 02:07:44 +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
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
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
Dmitry Razdoburdin
773ded684b
[sycl] Add depth-wise policy ( #10690 )
...
Co-authored-by: Dmitry Razdoburdin <>
2024-08-13 18:12:35 +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
James Lamb
18b28d9315
[R] prefer startsWith to substr() or regular expressions ( #10687 )
2024-08-09 21:18:46 +08:00
James Lamb
fb9201abae
[CI] use key=value form for Dockerfile ENV statements ( #10685 )
2024-08-09 21:12:50 +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
Dmitry Razdoburdin
e555a238bc
[SYCL]. Add implementation for loss-guided policy ( #10681 )
...
---------
Co-authored-by: Dmitry Razdoburdin <>
2024-08-09 09:04:46 +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