Commit Graph
607 Commits
Author SHA1 Message Date
amdsc21 1474789787 add new file 2023-03-25 04:54:02 +01:00
amdsc21 7fbc561e17 initial merge 2023-03-25 04:31:55 +01:00
amdsc21 d97be6f396 enable last 3 tests 2023-03-25 04:05:05 +01:00
Jiaming Yuan 151882dd26 Initial support for multi-target tree. (#8616)
* Implement multi-target for hist.

- Add new hist tree builder.
- Move data fetchers for tests.
- Dispatch function calls in gbm base on the tree type.
2023-03-22 23:49:56 +08:00
Jiaming Yuan ea04d4c46c [doc] [dask] Troubleshooting NCCL errors. (#8943) 2023-03-22 22:17:26 +08:00
Jiaming Yuan 5891f752c8 Rework the MAP metric. (#8931)
- The new implementation is more strict as only binary labels are accepted. The previous implementation converts values greater than 1 to 1.
- Deterministic GPU. (no atomic add).
- Fix top-k handling.
- Precise definition of MAP. (There are other variants on how to handle top-k).
- Refactor GPU ranking tests.
2023-03-22 17:45:20 +08:00
Rong Ou b240f055d3 Support vertical federated learning (#8932) 2023-03-22 14:25:26 +08:00
Jiaming Yuan a093770f36 Partitioner for multi-target tree. (#8922) 2023-03-16 18:49:34 +08:00
Jiaming Yuan 26209a42a5 Define git attributes for renormalization. (#8921) 2023-03-16 02:43:11 +08:00
amdsc21 8207015e48 fix ../tests/cpp/common/test_span.h 2023-03-14 22:19:06 +01:00
Jiaming Yuan 72e8331eab Reimplement the NDCG metric. (#8906)
- Add support for non-exp gain.
- Cache the DMatrix object to avoid re-calculating the IDCG.
- Make GPU implementation deterministic. (no atomic add)
2023-03-15 03:26:17 +08:00
Jiaming Yuan 8685556af2 Implement hist evaluator for multi-target tree. (#8908) 2023-03-15 01:42:51 +08:00
Jiaming Yuan c400fa1e8d Predictor for vector leaf. (#8898) 2023-03-14 19:07:10 +08:00
amdsc21 a2bab03205 fix aft_obj.hip 2023-03-13 23:19:59 +01:00
Jiaming Yuan 8be6095ece Implement NDCG cache. (#8893) 2023-03-13 22:16:31 +08:00
Jiaming Yuan 9bade7203a Remove public access to tree model param. (#8902)
* Make tree model param a private member.
* Number of features and targets are immutable after construction.

This is to reduce the number of places where we can run configuration.
2023-03-13 20:55:10 +08:00
Jiaming Yuan 5ba3509dd3 Define multi expand entry. (#8895) 2023-03-13 19:31:05 +08:00
amdsc21 fa2336fcfd sort bug fix 2023-03-12 07:09:10 +01:00
amdsc21 f64152bf97 add helpers.hip 2023-03-11 02:56:50 +01:00
amdsc21 b4dbe7a649 fix isnan 2023-03-11 02:39:58 +01:00
amdsc21 3a07b1edf8 complete test porting 2023-03-11 02:17:05 +01:00
amdsc21 9bf16a2ca6 testing porting 2023-03-11 01:38:54 +01:00
amdsc21 332f6a89a9 more tests 2023-03-11 01:33:48 +01:00
amdsc21 204d0c9a53 add hip tests 2023-03-11 00:38:16 +01:00
Jiaming Yuan 36a7396658 Replace dmlc any with std any. (#8892) 2023-03-11 06:11:04 +08:00
amdsc21 f0b8c02f15 merge latest changes 2023-03-10 22:10:20 +01:00
Jiaming Yuan 2aa838c75e Define multi-strategy parameter. (#8890) 2023-03-11 02:58:01 +08:00
Jiaming Yuan 6deaec8027 Pass obj info by reference instead of by value. (#8889)
- Pass obj info into tree updater as const pointer.

This way we don't have to initialize the learner model param before configuring gbm, hence
breaking up the dependency of configurations.
2023-03-11 01:38:28 +08:00
Jiaming Yuan 5feee8d4a9 Define core multi-target regression tree structure. (#8884)
- Define a new tree struct embedded in the `RegTree`.
- Provide dispatching functions in `RegTree`.
- Fix some c++-17 warnings about the use of nodiscard (currently we disable the warning on
  the CI).
- Use uint32_t instead of size_t for `bst_target_t` as it has a defined size and can be used
  as part of dmlc parameter.
- Hide the `Segment` struct inside the categorical split matrix.
2023-03-09 19:03:06 +08:00
Jiaming Yuan 46dfcc7d22 Define a new ranking parameter. (#8887) 2023-03-09 17:46:24 +08:00
amdsc21 ed45aa2816 Merge branch 'master' into dev-hui 2023-03-08 00:39:33 +01:00
Jiaming Yuan f236640427 Support F order for the tensor type. (#8872)
- Add F order support for tensor and view.
- Use parameter pack for automatic type cast. (avoid excessive static cast for shape).
2023-03-08 03:27:49 +08:00
amdsc21 c51a1c9aae rename hip.cc to hip 2023-03-07 05:39:53 +01:00
amdsc21 eb30cb6293 add hip support 2023-03-07 03:49:52 +01:00
amdsc21 6039a71e6c add hip structure 2023-03-07 02:17:19 +01:00
Jiaming Yuan 228a46e8ad Support learning rate for zero-hessian objectives. (#8866) 2023-03-06 20:33:28 +08:00
Jiaming Yuan 4d665b3fb0 Restore clang tidy test. (#8861) 2023-03-03 13:47:04 -08:00
Rong Ou 7cbaee9916 Support column split in approx tree method (#8847) 2023-03-02 03:59:07 +08:00
Jiaming Yuan d54ef56f6f Fix cache with gc (#8851)
- Make DMatrixCache thread-safe.
- Remove the use of thread-local memory.
2023-03-01 00:39:06 +08:00
Rong Ou d9688f93c7 Support column-split in row partitioner (#8828) 2023-02-26 04:43:35 +08:00
Rong Ou a65ad0bd9c Support column split in histogram builder (#8811) 2023-02-17 22:37:01 +08:00
Jiaming Yuan c0afdb6786 Fix CPU bin compression with categorical data. (#8809)
* Fix CPU bin compression with categorical data.

* The bug causes the maximum category to be lesser than 256 or the maximum number of bins when
the input data is dense.
2023-02-16 04:20:34 +08:00
Jiaming Yuan cce4af4acf Initial support for quantile loss. (#8750)
- Add support for Python.
- Add objective.
2023-02-16 02:30:18 +08:00
Jiaming Yuan 282b1729da Specify the number of threads for parallel sort. (#8735)
* Specify the number of threads for parallel sort.

- Pass context object into argsort.
- Replace macros with inline functions.
2023-02-16 00:20:19 +08:00
Jiaming Yuan 81b2ee1153 Pass DMatrix into metric for caching. (#8790) 2023-02-13 22:15:05 +08:00
Jiaming Yuan 31d3ec07af Extract device algorithms. (#8789) 2023-02-13 20:53:53 +08:00
Jiaming Yuan 457f704e3d Add quantile metric. (#8761) 2023-02-13 19:07:40 +08:00
Jiaming YuanandPhilip Hyunsu Cho d11a0044cf Generalize prediction cache. (#8783)
* Extract most of the functionality into `DMatrixCache`.
* Move API entry to independent file to reduce dependency on `predictor.h` file.
* Add test.

---------

Co-authored-by: Philip Hyunsu Cho <chohyu01@cs.washington.edu>
2023-02-13 12:36:43 +08:00
Rong OuandHyunsu Philip Cho ed91e775ec Fix quantile tests running on multi-gpus (#8775)
* Fix quantile tests running on multi-gpus

* Run some gtests with multiple GPUs

* fix mgpu test naming

* Instruct NCCL to print extra logs

* Allocate extra space in /dev/shm to enable NCCL

* use gtest_skip to skip mgpu tests

---------

Co-authored-by: Hyunsu Philip Cho <chohyu01@cs.washington.edu>
2023-02-12 17:00:26 -08:00
Jiaming Yuan 17b709acb9 Rename ranking utils to threading utils. (#8785) 2023-02-12 05:41:18 +08:00