Jiaming Yuan
044fea1281
Drop support for loading remote files. ( #9504 )
2023-08-21 23:34:05 +08:00
Jiaming Yuan
1caa93221a
Use realloc for histogram cache and expose the cache limit. ( #9455 )
2023-08-10 14:05:27 +08:00
Jiaming Yuan
f05a23b41c
Use weakref instead of id for DataIter cache. ( #9445 )
...
- Fix case where Python reuses id from freed objects.
- Small optimization to column matrix with QDM by using `realloc` instead of copying data.
2023-08-10 00:40:06 +08:00
Philip Hyunsu Cho
7ce090e775
Handle UTF-8 paths correctly on Windows platform ( #9443 )
...
* Fix round-trip serialization with UTF-8 paths
* Add compiler version check
* Add comment to C API functions
* Add Python tests
* [CI] Updatre MacOS deployment target
* Use std::filesystem instead of dmlc::TemporaryDirectory
2023-08-07 23:27:25 -07:00
Jiaming Yuan
54029a59af
Bound the size of the histogram cache. ( #9440 )
...
- A new histogram collection with a limit in size.
- Unify histogram building logic between hist, multi-hist, and approx.
2023-08-08 03:21:26 +08:00
Rong Ou
bde1ebc209
Switch back to the GPUIDX macro ( #9438 )
2023-08-04 15:14:31 +08:00
Jiaming Yuan
1332ff787f
Unify the code path between local and distributed training. ( #9433 )
...
This removes the need for a local histogram space during distributed training, which cuts the cache size by half.
2023-08-03 21:46:36 +08:00
Jiaming Yuan
e93a274823
Small cleanup for histogram routines. ( #9427 )
...
* Small cleanup for histogram routines.
- Extract hist train param from GPU hist.
- Make histogram const after construction.
- Unify parameter names.
2023-08-02 18:28:26 +08:00
Rong Ou
c2b85ab68a
Clean up MGPU C++ tests ( #9430 )
2023-08-02 14:31:18 +08:00
Jiaming Yuan
912e341d57
Initial GPU support for the approx tree method. ( #9414 )
2023-07-31 15:50:28 +08:00
Rong Ou
7579905e18
Retry switching to per-thread default stream ( #9416 )
2023-07-26 07:09:12 +08:00
Jiaming Yuan
3a9996173e
Revert "Switch to per-thread default stream ( #9396 )" ( #9413 )
...
This reverts commit f7f673b00c15458fb4dd74a2a0d2ba80369c5faf.
2023-07-24 12:03:28 -07:00
Jiaming Yuan
a196443a07
Implement sketching with Hessian on GPU. ( #9399 )
...
- Prepare for implementing approx on GPU.
- Unify the code path between weighted and uniform sketching on DMatrix.
2023-07-24 15:43:03 +08:00
Jiaming Yuan
22b0a55a04
Remove hist builder class. ( #9400 )
...
* Remove hist build class.
* Cleanup this stateless class.
* Add comment to thread block.
2023-07-22 10:43:12 +08:00
Jiaming Yuan
0de7c47495
Fix metric serialization. ( #9405 )
2023-07-22 08:39:21 +08:00
Rong Ou
f7f673b00c
Switch to per-thread default stream ( #9396 )
2023-07-20 08:21:00 +08:00
Jiaming Yuan
04aff3af8e
Define the new device parameter. ( #9362 )
2023-07-13 19:30:25 +08:00
Rong Ou
3632242e0b
Support column split with GPU quantile ( #9370 )
2023-07-11 12:15:56 +08:00
Jiaming Yuan
97ed944209
Unify the hist tree method for different devices. ( #9363 )
2023-07-11 10:04:39 +08:00
Jiaming Yuan
20c52f07d2
Support exporting cut values ( #9356 )
2023-07-08 15:32:41 +08:00
Rong Ou
15ca12a77e
Fix NCCL test hang ( #9367 )
2023-07-07 11:21:35 +08:00
Jiaming Yuan
41c6813496
Preserve order of saved updaters config. ( #9355 )
...
- Save the updater sequence as an array instead of object.
- Warn only once.
The compatibility is kept, but we should be able to break it as the config is not loaded
in pickle model and it's declared to be not stable.
2023-07-05 20:20:07 +08:00
Jiaming Yuan
645037e376
Improve test coverage with predictor configuration. ( #9354 )
...
* Improve test coverage with predictor configuration.
- Test with ext memory.
- Test with QDM.
- Test with dart.
2023-07-05 15:17:22 +08:00
Jiaming Yuan
d0916849a6
Remove unused weight from buffer for cat features. ( #9341 )
2023-07-04 01:07:09 +08:00
Jiaming Yuan
39390cc2ee
[breaking] Remove the predictor param, allow fallback to prediction using DMatrix. ( #9129 )
...
- A `DeviceOrd` struct is implemented to indicate the device. It will eventually replace the `gpu_id` parameter.
- The `predictor` parameter is removed.
- Fallback to `DMatrix` when `inplace_predict` is not available.
- The heuristic for choosing a predictor is only used during training.
2023-07-03 19:23:54 +08:00
Rong Ou
3a0f787703
Support column split in GPU predictor ( #9343 )
2023-07-03 04:05:34 +08:00
Rong Ou
f90771eec6
Fix device communicator dependency ( #9346 )
2023-06-29 10:34:30 +08:00
Jiaming Yuan
f4798718c7
Use hist as the default tree method. ( #9320 )
2023-06-27 23:04:24 +08:00
Jiaming Yuan
bc267dd729
Use ptr from mmap for GHistIndexMatrix and ColumnMatrix. ( #9315 )
...
* Use ptr from mmap for `GHistIndexMatrix` and `ColumnMatrix`.
- Define a resource for holding various types of memory pointers.
- Define ref vector for holding resources.
- Swap the underlying resources for GHist and ColumnM.
- Add documentation for current status.
- s390x support is removed. It should work if you can compile XGBoost, all the old workaround code does is to get GCC to compile.
2023-06-27 19:05:46 +08:00
Jiaming Yuan
54da4b3185
Cleanup to prepare for using mmap pointer in external memory. ( #9317 )
...
- Update SparseDMatrix comment.
- Use a pointer in the bitfield. We will replace the `std::vector<bool>` in `ColumnMatrix` with bitfield.
- Clean up the page source. The timer is removed as it's inaccurate once we swap the mmap pointer into the page.
2023-06-22 06:43:11 +08:00
Jiaming Yuan
ee6809e642
Use mmap for external memory. ( #9282 )
...
- Have basic infrastructure for mmap.
- Release file write handle.
2023-06-19 18:52:55 +08:00
Rong Ou
d8beb517ed
Support bitwise allreduce in NCCL communicator ( #9300 )
2023-06-17 01:56:50 +08:00
amdsc21
5ca7daaa13
merge latest changes
2023-06-15 21:39:14 +02:00
Rong Ou
e70810be8a
Refactor device communicator to make allreduce more flexible ( #9295 )
2023-06-14 03:53:03 +08:00
amdsc21
5f78360949
merge changes Jun092023
2023-06-09 22:41:33 +02:00
Jiaming Yuan
152e2fb072
Unify test helpers for creating ctx. ( #9274 )
2023-06-10 03:35:22 +08:00
Rong Ou
ff122d61ff
More tests for cpu predictor with column split ( #9270 )
2023-06-08 22:47:19 +08:00
amdsc21
af8845405a
sync Jun 5
2023-06-07 02:43:21 +02:00
Rong Ou
962a20693f
More support for column split in cpu predictor ( #9244 )
...
- Added column split support to `PredictInstance` and `PredictLeaf`.
- Refactoring of tests.
2023-06-05 08:05:38 +08:00
Jiaming Yuan
9fbde21e9d
Rework the precision metric. ( #9222 )
...
- Rework the precision metric for both CPU and GPU.
- Mention it in the document.
- Cleanup old support code for GPU ranking metric.
- Deterministic GPU implementation.
* Drop support for classification.
* type.
* use batch shape.
* lint.
* cpu build.
* cpu build.
* lint.
* Tests.
* Fix.
* Cleanup error message.
2023-06-02 20:49:43 +08:00
amdsc21
9ee1852d4e
restore device helper
2023-06-02 02:55:13 +02:00
Your Name
42867a4805
sync Jun 1
2023-06-01 15:55:06 -07:00
Jiaming Yuan
17fd3f55e9
Optimize adapter element counting on GPU. ( #9209 )
...
- Implement a simple `IterSpan` for passing iterators with size.
- Use shared memory for column size counts.
- Use one thread for each sample in row count to reduce atomic operations.
2023-05-30 23:28:43 +08:00
Jiaming Yuan
03bc6e6427
Remove unused variables. ( #9210 )
...
- remove used variables.
- Remove signed comparison warnings.
2023-05-28 05:24:15 +08:00
Rong Ou
5b69534b43
Support column split in multi-target hist ( #9171 )
2023-05-26 16:56:05 +08:00
amdsc21
b22644fc10
add hip.h
2023-05-20 01:25:33 +02:00
amdsc21
8cad8c693c
sync up May15 2023
2023-05-15 18:59:18 +02:00
Rong Ou
603f8ce2fa
Support hist in the partition builder under column split ( #9120 )
2023-05-11 05:24:29 +08:00
Rong Ou
52311dcec9
Fix multi-threaded gtests ( #9148 )
2023-05-10 19:15:32 +08:00
Jiaming Yuan
85988a3178
Wait for data CUDA stream instead of sync. ( #9144 )
...
---------
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
2023-05-09 09:52:21 +08:00