Commit Graph
100 Commits
Author SHA1 Message Date
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 YuanandPhilip 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 YuanandPhilip 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 YuanandPhilip 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 YuanandPhilip 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 YuanandPhilip 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
Jiaming Yuan ca1d04bcb7 Release data in cache. (#10286) 2024-05-14 14:20:19 +08:00
Jiaming Yuan f1f69ff10e [CI] Fixes for using the latest modin. (#10285) 2024-05-14 12:13:35 +08:00
Jiaming Yuan 871fabeee3 [doc][dask] Update notes about k8s. (#10271) 2024-05-14 04:21:02 +08:00
Jiaming YuanandPhilip Hyunsu Cho d81e319e78 Fixes for the latest pandas. (#10266)
Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
2024-05-12 11:15:46 +08:00
Jiaming Yuan 5e816e616a [CI] Upgrade setup-r. (#10267) 2024-05-12 05:25:29 +08:00
Jiaming Yuan 5de57435c7 Be more lenient on floating point error for AUC. (#10264) 2024-05-11 08:48:11 +08:00
Jiaming Yuan 8237920c48 [jvm-packagaes] Freeze spark to 3.4.1 for now. (#10253)
The newer spark version for CPU conflicts with the more conservative version used by
rapids.
2024-05-07 09:00:59 -07:00
Jiaming Yuan 73afef1a6e Fixes for numpy 2.0. (#10252) 2024-05-07 03:54:32 +08:00
Jiaming Yuan 5e64276a9b Update nvtx. (#10227) 2024-04-29 06:33:46 +08:00
Jiaming Yuan 837d44a345 Support more sklearn tags for testing. (#10230) 2024-04-29 06:33:23 +08:00
Jiaming Yuan 54754f29dd [pyspark] Sort workers by task ID. (#10220) 2024-04-28 18:05:15 +08:00
Jiaming Yuan a81b78e56b [CI] Test new setup-r. (#10228) 2024-04-26 08:23:31 -07:00
Jiaming Yuan 59d7b8dc72 [doc] Add typing to dask demos. (#10207) 2024-04-23 00:57:05 +08:00
Jiaming Yuan 3fbb221fec [coll] Implement shutdown for tracker and comm. (#10208)
- Force shutdown the tracker.
- Implement shutdown notice for error handling thread in comm.
2024-04-20 04:08:17 +08:00
Jiaming Yuan 3f64b4fde3 [coll] Add global functions. (#10203) 2024-04-19 03:17:23 +08:00
Jiaming Yuan 303c603c7d [pyspark] Reuse the collective communicator. (#10198) 2024-04-18 19:09:30 +08:00
Jiaming Yuan 4b10200456 [coll] Improve event loop. (#10199)
- Add a test for blocking calls.
- Do not require the queue to be empty after waking up; this frees up the thread to answer blocking calls.
- Handle EOF in read.
- Improve the error message in the result. Allow concatenation of multiple results.
2024-04-18 03:29:52 +08:00
Jiaming Yuan 1022909bbe Fix global config for external memory. (#10173)
Pass the thread-local configuration between threads.
2024-04-11 01:29:28 +08:00
Jiaming Yuan f0a138f33a Fix pyspark with verbosity=3. (#10172) 2024-04-09 23:18:56 +08:00
Jiaming Yuan 8bad677c2f Update collective implementation. (#10152)
* Update collective implementation.

- Cleanup resource during `Finalize` to avoid handling threads in destructor.
- Calculate the size for allgather automatically.
- Use simple allgather for small (smaller than the number of worker) allreduce.
2024-03-30 18:57:31 +08:00
Jiaming YuanandPhilip Hyunsu Cho 230010d9a0 Cleanup set info. (#10139)
- Use the array interface internally.
- Deprecate `XGDMatrixSetDenseInfo`.
- Deprecate `XGDMatrixSetUIntInfo`.
- Move the handling of `DataType` into the deprecated C function.

---------

Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
2024-03-26 23:26:24 +08:00
Jiaming Yuan e1695775e9 [CI] Fix yml in github action. (#10134) 2024-03-20 16:38:03 +08:00
Jiaming Yuan 2b2aac85f4 [CI] Update scorecard actions. (#10133) 2024-03-20 15:51:38 +08:00
Jiaming Yuan ca4801f81d Work with IPv6 in the new tracker. (#10125) 2024-03-20 05:19:23 +08:00
Jiaming Yuan 53fc17578f Use std::uint64_t for row index. (#10120)
- Use std::uint64_t instead of size_t to avoid implementation-defined type.
- Rename to bst_idx_t, to account for other types of indexing.
- Small cleanup to the base header.
2024-03-15 18:43:49 +08:00
Jiaming Yuan 56b1868278 Fix compilation with the latest ctk. (#10123) 2024-03-15 08:04:41 +08:00
Jiaming Yuan 1450aebb74 Fix pairwise objective with NDCG metric along with custom gain. (#10100)
* Fix pairwise objective with NDCG metric.

- Allow setting `ndcg_exp_gain` for `rank:pairwise`.

This is useful when using pairwise for objective but ndcg for metric.
2024-03-11 14:54:10 +08:00
Jiaming Yuan 06c9702028 [doc] Fix the default value for lambdarank_pair_method. (#10098) 2024-03-11 14:53:17 +08:00
Jiaming Yuan 2c13f90384 Support graphviz plot for multi-target tree. (#10093) 2024-03-09 05:35:25 +08:00
Jiaming Yuan e14c3b9325 Optional normalization for learning to rank. (#10094) 2024-03-08 12:41:21 +08:00