Jiaming Yuan
a7226c0222
Fix feature names with special characters. ( #9923 )
2023-12-28 22:45:13 +08:00
Jiaming Yuan
6a5f6ba694
[CI] Add timeout for distributed GPU tests. ( #9917 )
2023-12-24 00:09:05 +08:00
Jiaming Yuan
9d122293bc
[doc] Fix typo. [skip ci] ( #9904 )
2023-12-20 09:17:00 +08:00
Jiaming Yuan
0edd600f3d
[doc] Brief introduction to base_score. ( #9882 )
2023-12-17 13:34:34 +08:00
Jiaming Yuan
1c6e031c75
[R] Fix clang warning. ( #9874 )
2023-12-15 01:30:43 +08:00
Jiaming Yuan
125bc812f8
[doc] Reference enable_categorical doc in sklearn. ( #9884 )
2023-12-14 23:29:19 +08:00
Jiaming Yuan
1aa8c8d9be
Support more scipy types. ( #9881 )
2023-12-14 18:28:37 +08:00
Jiaming Yuan
faf0f2df10
Support dataframe data format in native XGBoost. ( #9828 )
...
- Implement a columnar adapter.
- Refactor Python pandas handling code to avoid converting into a single numpy array.
- Add support in R for transforming columns.
- Support R data.frame and factor type.
2023-12-12 09:56:31 +08:00
Jiaming Yuan
b3700bbb3f
Flexible find protobuf. ( #9867 )
2023-12-12 07:34:01 +08:00
Jiaming Yuan
1094d6015d
[py] Use the first found native library. ( #9860 )
2023-12-08 17:23:16 +08:00
Jiaming Yuan
42de9206fc
Support multi-target, fit intercept for hinge. ( #9850 )
2023-12-08 05:50:41 +08:00
Jiaming Yuan
39c637ee19
Use array interface in Python prediction return. ( #9855 )
2023-12-08 03:42:14 +08:00
Jiaming Yuan
4bc1f3a388
[R] Bump requirement to 4.3.0. ( #9847 )
2023-12-07 00:12:45 +08:00
Jiaming Yuan
e78b46046e
[CI] Update R version on Linux. ( #9835 )
2023-12-02 11:03:17 +08:00
Jiaming Yuan
2d8c67d6dc
[jvm-packages] Bump dependencies. ( #9827 )
...
- #9811
- #9814
- #9826
- #9830
- #9833
- #9832
- #9831
- #9834
2023-12-02 07:34:56 +08:00
Jiaming Yuan
e2e089ce12
[jvm-packages] Bump rapids version. ( #9820 )
2023-11-29 15:51:07 +08:00
Jiaming Yuan
59684b2db6
[doc] Draft for language binding consistency. [skip ci] ( #9755 )
2023-11-29 13:13:40 +08:00
Jiaming Yuan
34a2616696
[jvm-packages] Update dependencies. ( #9809 )
...
- scalatest: 3.2.17
- maven-checkstyle-plugin: 3.3.1
- maven-surefire-plugin: 3.2.2
- maven-project-info-reports-plugin: 3.5.0
- maven-javadoc-plugin: 3.6.2
2023-11-27 20:09:25 +08:00
Jiaming Yuan
e9f149481e
[sklearn] Fix loading model attributes. ( #9808 )
2023-11-27 17:19:01 +08:00
Jiaming Yuan
3f4e22015a
Mark NCCL python test optional. ( #9804 )
...
Skip the tests if XGBoost is not compiled with dlopen.
2023-11-25 11:25:47 +08:00
Jiaming Yuan
8fe1a2213c
Cleanup code for distributed training. ( #9805 )
...
* Cleanup code for distributed training.
- Merge `GetNcclResult` into nccl stub.
- Split up utilities from the main dask module.
- Let Channel return `Result` to accommodate nccl channel.
- Remove old `use_label_encoder` parameter.
2023-11-25 09:10:56 +08:00
Jiaming Yuan
e9260de3f3
[breaking] Remove dense libsvm parser plugin. ( #9799 )
2023-11-23 00:12:39 +08:00
Jiaming Yuan
1877cb8e83
Change default metric for gamma regression to deviance. ( #9757 )
...
* Change default metric for gamma regression to deviance.
- Cleanup the gamma implementation.
- Use deviance instead since the objective is derived from deviance.
2023-11-22 21:17:48 +08:00
Jiaming Yuan
0715ab3c10
Use dlopen to load NCCL. ( #9796 )
...
This PR adds optional support for loading nccl with `dlopen` as an alternative of compile time linking. This is to address the size bloat issue with the PyPI binary release.
- Add CMake option to load `nccl` at runtime.
- Add an NCCL stub.
After this, `nccl` will be fetched from PyPI when using pip to install XGBoost, either by a user or by `pyproject.toml`. Others who want to link the nccl at compile time can continue to do so without any change.
At the moment, this is Linux only since we only support MNMG on Linux.
2023-11-22 19:27:31 +08:00
Jiaming Yuan
fedd9674c8
Implement column sampler in CUDA. ( #9785 )
...
- CUDA implementation.
- Extract the broadcasting logic, we will need the context parameter after revamping the collective implementation.
- Some changes to the event loop for fixing a deadlock in CI.
- Move argsort into algorithms.cuh, add support for cuda stream.
2023-11-17 04:29:08 +08:00
Jiaming Yuan
ada377c57e
[coll] Reduce the scope of lock in the event loop. ( #9784 )
2023-11-15 14:16:19 +08:00
Jiaming Yuan
6fd4a30667
[coll] Increase timeout for allgather test. ( #9777 )
2023-11-09 05:26:40 +08:00
Jiaming Yuan
44099f585d
[coll] Add C API for the tracker. ( #9773 )
2023-11-08 18:17:14 +08:00
Jiaming Yuan
06bdc15e9b
[coll] Pass context to various functions. ( #9772 )
...
* [coll] Pass context to various functions.
In the future, the `Context` object would be required for collective operations, this PR
passes the context object to some required functions to prepare for swapping out the
implementation.
2023-11-08 09:54:05 +08:00
Jiaming Yuan
6c0a190f6d
[coll] Add comm group. ( #9759 )
...
- Implement `CommGroup` for double dispatching.
- Small cleanup to tracker for handling abort.
2023-11-07 11:12:31 +08:00
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