Jiaming Yuan
c3a0622b49
Fix using categorical data with the score function of ranker. ( #9753 )
2023-11-07 07:29:11 +08:00
Jiaming Yuan
82828621d0
[doc] Add doc for linters and simplify c++ lint script. ( #9750 )
2023-11-07 05:03:30 +08:00
Jiaming Yuan
98238d63fa
[dask] Change document to avoid using default import. ( #9742 )
...
This aligns dask with pyspark, users need to explicitly call:
```
from xgboost.dask import DaskXGBClassifier
from xgboost import dask as dxgb
```
In future releases, we might stop using the default import and remove the lazy loader.
2023-11-07 02:44:39 +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
Jiaming Yuan
6755179e77
[coll] Add nccl. ( #9726 )
2023-10-28 16:33:58 +08:00
Jiaming Yuan
7a02facc9d
Serialize expand entry for allgather. ( #9702 )
2023-10-24 14:33:28 +08:00
Jiaming Yuan
3ca06ac51e
[doc] Mention data consistency for categorical features. ( #9678 )
2023-10-24 10:11:33 +08:00
Jiaming Yuan
b771f58453
[coll] Define interface for bridging. ( #9695 )
...
* Define the basic interface that will shared by nccl, federated and native.
2023-10-20 16:20:48 +08:00
Jiaming Yuan
5d1bcde719
[coll] allgatherv. ( #9688 )
2023-10-19 03:13:50 +08:00
Jiaming Yuan
4c0e4422d0
[coll] allgather. ( #9681 )
2023-10-18 10:22:18 +08:00
Jiaming Yuan
48ac9b6cbe
[coll] Allreduce. ( #9679 )
2023-10-17 13:57:14 +08:00
Jiaming Yuan
53049b16b8
[coll] Broadcast. ( #9659 )
2023-10-14 09:34:37 +08:00
Jiaming Yuan
81a059864a
Skip check for pollhup. ( #9661 )
2023-10-13 14:35:14 +08:00
Jiaming Yuan
cd8760cba3
[doc] Update document about running tests. [skip ci] ( #9658 )
2023-10-13 09:07:01 +08:00
Jiaming Yuan
946ae1c440
[coll] Implement a new tracker and a communicator. ( #9650 )
...
* [coll] Implement a new tracker and a communicator.
The new tracker and communicators communicate through the use of JSON documents. Along
with which, communicators are aware of each other.
2023-10-12 12:49:16 +08:00
Jiaming Yuan
084d89216c
Add support for cgroupv2. ( #9651 )
2023-10-12 09:36:36 +08:00
Jiaming Yuan
b14e535e78
[Coll] Implement get host address in libxgboost. ( #9644 )
...
- Port `xgboost.tracker.get_host_ip` in C++.
2023-10-10 10:01:14 +08:00
Jiaming Yuan
680d53db43
Extract JSON utils. ( #9645 )
2023-10-10 07:15:14 +08:00
Jiaming Yuan
4e5a7729c3
Fix lint errors. ( #9634 )
2023-10-09 19:04:31 +08:00
Jiaming Yuan
4d7a187cb0
Remove XGBoosterGetModelRaw. ( #9617 )
...
Deprecated in 1.6.
2023-09-29 02:29:33 +08:00
Jiaming Yuan
d95be1c38d
Small cleanup to jvm iter adapter. ( #9616 )
...
- Remove header dependency on c_api
- Remove remaining code for arrow.
2023-09-29 00:39:07 +08:00
Jiaming Yuan
417c3ba47e
Workaround Apple clang issue. ( #9615 )
2023-09-28 22:51:47 +08:00
Jiaming Yuan
60526100e3
Support arrow through pandas ext types. ( #9612 )
...
- Use pandas extension type for pyarrow support.
- Additional support for QDM.
- Additional support for inplace_predict.
2023-09-28 17:00:16 +08:00
Jiaming Yuan
c75a3bc0a9
[breaking] [jvm-packages] Remove rabit check point. ( #9599 )
...
- Add `numBoostedRound` to jvm packages
- Remove rabit checkpoint version.
- Change the starting version of training continuation in JVM [breaking].
- Redefine the checkpoint version policy in jvm package. [breaking]
- Rename the Python check point callback parameter. [breaking]
- Unifies the checkpoint policy between Python and JVM.
2023-09-26 18:06:34 +08:00
Jiaming Yuan
1167e6c554
Limit the number of threads for external memory. ( #9605 )
2023-09-24 00:30:28 +08:00
Jiaming Yuan
cac2cd2e94
[R] Set number of threads in demos and tests. ( #9591 )
...
- Restrict the number of threads in IO.
- Specify the number of threads in demos and tests.
- Add helper scripts for checks.
2023-09-23 21:44:03 +08:00
Jiaming Yuan
a90d204942
Use array interface for testing numpy arrays. ( #9602 )
2023-09-23 03:13:48 +08:00
Jiaming Yuan
bbf5b9ee57
[dask] Move dask module into directory. ( #9597 )
2023-09-23 01:28:18 +08:00
Jiaming Yuan
0080c97075
Workaround poll on macos. ( #9596 )
2023-09-21 01:09:36 +08:00
Jiaming Yuan
8c676c889d
Remove internal use of gpu_id. ( #9568 )
2023-09-20 23:29:51 +08:00
Jiaming Yuan
38ac52dd87
Build a simple event loop for collective. ( #9593 )
2023-09-20 02:09:07 +08:00
Jiaming Yuan and Hyunsu Cho
259d80c0cf
News for 2.0. [skip ci] ( #9484 )
...
---------
Co-authored-by: Hyunsu Cho <chohyu01@cs.washington.edu >
2023-09-19 05:46:02 +08:00
Jiaming Yuan
0df1da2db4
fix rel script with relative path and end note version. [skip ci] ( #9572 )
2023-09-18 17:58:48 +08:00
Jiaming Yuan
300f9ace06
Fix default metric configuration. ( #9575 )
2023-09-13 13:05:47 -07: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
5abe50ff8c
[R] Fix method name. ( #9577 )
2023-09-13 23:19:29 +08:00
Jiaming Yuan
9027686cac
Support pandas 2.1.0. ( #9557 )
2023-09-11 17:44:51 +08:00
Jiaming Yuan
3b9e5909fb
[CI] bump setup-r action version. ( #9544 )
2023-09-05 16:14:45 +08:00
Jiaming Yuan
adea842c83
Fix inplace predict with fallback when base margin is used. ( #9536 )
...
- Copy meta info from proxy DMatrix.
- Use `std::call_once` to emit less warnings.
2023-09-05 01:04:24 +08:00
Jiaming Yuan
ccfc90e4c6
[rabit] Improved connection handling. ( #9531 )
...
- Enable timeout.
- Report connection error from the system.
- Handle retry for both tracker connection and peer connection.
2023-08-30 13:00:04 +08:00
Jiaming Yuan
ddf2e68821
Use the new DeviceOrd in the linalg module. ( #9527 )
2023-08-29 13:37:29 +08:00
Jiaming Yuan
942b957eef
Fix GPU categorical split memory allocation. ( #9529 )
2023-08-29 10:06:03 +08:00
Jiaming Yuan
be6a552956
[R] Support multi-class custom objective. ( #9526 )
2023-08-29 08:27:13 +08:00
Jiaming Yuan
90ef250ea1
[rabit] Drop support for MPI backend. ( #9525 )
...
- Add checks in cmake.
- Remove mpi related code.
2023-08-28 21:01:22 +08:00
Jiaming Yuan
c3574d932f
[R] Fix integer inputs with NA. ( #9522 )
2023-08-28 18:36:11 +08:00
Jiaming Yuan
1b87a1d8f8
[rabit] Small cleanup to tracker initialization. ( #9524 )
...
- Remove recover related code.
- Clean startup, no need to consider previously connected nodes.
2023-08-27 05:10:59 +08:00
Jiaming Yuan
209335b18c
Remove the deprecated Python rabit module. ( #9523 )
2023-08-27 03:37:05 +08:00
Jiaming Yuan
aa86bd5207
[dask] Filter models on worker. ( #9518 )
2023-08-25 20:23:47 +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
8c10af45a0
Delay the check for vector leaf. ( #9509 )
2023-08-23 01:53:40 +08:00
Jiaming Yuan
3c09399f29
Fix device dispatch for linear updater. ( #9507 )
2023-08-23 00:17:35 +08:00
Jiaming Yuan
302bbdc958
mitigate flaky test with distributed l1 error. ( #9499 )
2023-08-22 13:46:35 +08:00
Jiaming Yuan
044fea1281
Drop support for loading remote files. ( #9504 )
2023-08-21 23:34:05 +08:00
Jiaming Yuan and Philip Hyunsu Cho
e6cf7a1278
Deprecate the command line interface. ( #9485 )
...
---------
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2023-08-21 06:47:48 +08:00
Jiaming Yuan
38a3e1b858
Fix release script for RC [skip ci] ( #9505 )
2023-08-21 05:24:35 +08:00
Jiaming Yuan
db87d481bc
[R] Differentiate dev version with release version. ( #9503 )
...
Use 2.1.0.0 as development version, we will change it to 2.1.0.1 during release.
2023-08-20 02:58:58 +08:00
Jiaming Yuan
7f29a238e6
Return base score as intercept. ( #9486 )
2023-08-19 12:28:02 +08:00
Jiaming Yuan
58530b1bc4
Bump version to 2.1. ( #9498 )
2023-08-18 01:04:04 +08:00
Jiaming Yuan
5188e27513
Fix version parsing with rc release. ( #9493 )
2023-08-16 22:44:58 +08:00
Jiaming Yuan
f380c10a93
Use hint for find nccl. ( #9490 )
2023-08-16 16:08:41 +08:00
Jiaming Yuan
b2e93d2742
[doc] Quick note for the device parameter. [skip ci] ( #9483 )
2023-08-16 13:35:55 +08:00
Jiaming Yuan
c061e3ae50
[jvm-packages] Bump rapids version. ( #9482 )
2023-08-15 16:26:42 -07:00
Jiaming Yuan
19b59938b7
Convert input to str for hypothesis note. ( #9480 )
2023-08-15 02:27:58 +08:00
Jiaming Yuan
05d7000096
Handle special characters in JSON model dump. ( #9474 )
2023-08-14 15:49:00 +08:00
Jiaming Yuan
fd4335d0bf
[doc] Document the current status of some features. ( #9469 )
2023-08-13 23:42:27 +08:00
Jiaming Yuan
801116c307
Test scikit-learn model IO with gblinear. ( #9459 )
2023-08-13 23:41:49 +08:00
Jiaming Yuan
bb56183396
Normalize file system path. ( #9463 )
2023-08-11 21:26:46 +08:00
Jiaming Yuan
bdc1a3c178
Fix pyspark parameter. ( #9460 )
...
- Don't pass the `use_gpu` parameter to the learner.
- Fix GPU approx with PySpark.
2023-08-11 19:07:50 +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
a57371ef7c
Fix links in R doc. ( #9450 )
2023-08-10 02:38:14 +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
Jiaming Yuan
f05294a6f2
Fix clang warnings. ( #9447 )
...
- static function in header. (which is marked as unused due to translation unit
visibility).
- Implicit copy operator is deprecated.
- Unused lambda capture.
- Moving a temporary variable prevents copy elision.
2023-08-09 15:34:45 +08:00
Jiaming Yuan
c1b2cff874
[CI] Check compiler warnings. ( #9444 )
2023-08-08 12:02:45 -07:00
Jiaming Yuan
97fd5207dd
Use lambda function in ParallelFor2D. ( #9441 )
2023-08-08 14:04:46 +08: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
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
7129988847
Accept only keyword arguments in data iterator. ( #9431 )
2023-08-03 12:44:16 +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
Jiaming Yuan
a9da2e244a
[CI] Update github actions. ( #9428 )
2023-08-01 23:03:53 +08:00
Jiaming Yuan
912e341d57
Initial GPU support for the approx tree method. ( #9414 )
2023-07-31 15:50:28 +08:00
Jiaming Yuan
3a9996173e
Revert "Switch to per-thread default stream ( #9396 )" ( #9413 )
...
This reverts commit f7f673b00c .
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 and Philip Hyunsu Cho
851cba931e
Define best_iteration only if early stopping is used. ( #9403 )
...
* Define `best_iteration` only if early stopping is used.
This is the behavior specified by the document but not honored in the actual code.
- Don't set the attributes if there's no early stopping.
- Clean up the code for callbacks, and replace assertions with proper exceptions.
- Assign the attributes when early stopping `save_best` is used.
- Turn the attributes into Python properties.
---------
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu >
2023-07-24 12:43:35 +08:00
Jiaming Yuan
01e00efc53
[breaking] Remove support for single string feature info. ( #9401 )
...
- Input must be a sequence of strings.
- Improve validation error message.
2023-07-24 11:06:30 +08:00
Jiaming Yuan
275da176ba
Document for device ordinal. ( #9398 )
...
- Rewrite GPU demos. notebook is converted to script to avoid committing additional png plots.
- Add GPU demos into the sphinx gallery.
- Add RMM demos into the sphinx gallery.
- Test for firing threads with different device ordinals.
2023-07-22 15:26:29 +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
Jiaming Yuan
dbd5309b55
Fix warning message for device. ( #9402 )
2023-07-20 23:30:04 +08:00
Jiaming Yuan
7a0ccfbb49
Add compute 90. ( #9397 )
2023-07-19 13:42:38 +08:00
Jiaming Yuan
0897477af0
Remove unmaintained jvm readme and dev scripts. ( #9395 )
2023-07-18 18:23:43 +08:00
Jiaming Yuan
6e18d3a290
[pyspark] Handle the device parameter in pyspark. ( #9390 )
...
- Handle the new `device` parameter in PySpark.
- Deprecate the old `use_gpu` parameter.
2023-07-18 08:47:03 +08:00
Jiaming Yuan
f4fb2be101
[jvm-packages] Add the new device parameter. ( #9385 )
2023-07-17 18:40:39 +08:00
Jiaming Yuan
2caceb157d
[jvm-packages] Reduce log verbosity for GPU tests. ( #9389 )
2023-07-17 13:25:46 +08:00
Jiaming Yuan
b342ef951b
Make feature validation immutable. ( #9388 )
2023-07-16 06:52:55 +08:00
Jiaming Yuan
0a07900b9f
Fix integer overflow. ( #9380 )
2023-07-15 21:11:02 +08:00
Jiaming Yuan
16eb41936d
Handle the new device parameter in dask and demos. ( #9386 )
...
* Handle the new `device` parameter in dask and demos.
- Check no ordinal is specified in the dask interface.
- Update demos.
- Update dask doc.
- Update the condition for QDM.
2023-07-15 19:11:20 +08:00
Jiaming Yuan
9da5050643
Turn warning messages into Python warnings. ( #9387 )
2023-07-15 07:46:43 +08:00
Jiaming Yuan
04aff3af8e
Define the new device parameter. ( #9362 )
2023-07-13 19:30:25 +08:00