Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix forward merge #4357 [skip-ci] #4375

Merged
merged 38 commits into from
Nov 17, 2021
Merged

Conversation

dantegd
Copy link
Member

@dantegd dantegd commented Nov 17, 2021

No description provided.

msadang and others added 30 commits November 4, 2021 14:44
Change version of xgboost to reflect newest version change from 1.4.2 to 1.5.0.

Authors:
  - Mark Sadang (https://github.com/msadang)

Approvers:
  - AJ Schmidt (https://github.com/ajschmidt8)

URL: rapidsai#4301
@dantegd this is a short PR to update the memcheck/sanitizer python wrapper script. It drops cuda-memcheck in favor of the latest compute-sanitizer tool from CUDA SDK.

Authors:
  - Thejaswi. N. S (https://github.com/teju85)

Approvers:
  - Dante Gama Dessavre (https://github.com/dantegd)

URL: rapidsai#4324
Related to rapidsai#4105.

This PR fixes the types used for indexing and sizes in the PCA/TSVD C++ code.

Authors:
  - Micka (https://github.com/lowener)
  - Corey J. Nolet (https://github.com/cjnolet)

Approvers:
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#4255
Partially resolves rapidsai#2843 

Missing to deal with is warnings coming from cuML logger and other verbosity in the C++ layer

Note: Scikit-learn 0.24 removes many warnings as well, so once rapidsai#4205 is merged and that is updated in CI the remaining warnings should be gone

Authors:
  - Dante Gama Dessavre (https://github.com/dantegd)

Approvers:
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#4196
The old code compiles to
```asm
cvt.f64.f32     %fd1, %f1;
add.f64         %fd2, %fd1, 0d3FF0000000000000;
mul.f64         %fd3, %fd2, 0d3FE0000000000000;
cvt.rn.f32.f64  %f2, %fd3;
```
instead of just
```asm
add.f32         %f2, %f1, 0f3F800000;
mul.f32         %f3, %f2, 0f3F000000;
```

Authors:
  - Zach Bjornson (https://github.com/zbjornson)

Approvers:
  - Dante Gama Dessavre (https://github.com/dantegd)

URL: rapidsai#4331
cherry-pick: compress CUDA device code
[gpuCI] Forward-merge branch-21.10 to branch-21.12 [skip gpuci]
This PR updates the flags for to ignore certain warnings from being treated as errors. This is a necessary hotfix to get DLFW builds to complete successfully.
…provided to FIL model (rapidsai#4315)

Fix potential CUDA context poison due to invalid global read when negative categories provided at inference:

now equivalent to non-matching. Same for `+-Inf` categories. NAN categories are still `!def_left`, and fractional categories are truncated (via a typecast), as this is what Treelite does

FIL now converts dummy nodes to numerical on import
and never generates max_matching == -1 categorical features in test.
FIL will still generate empty categorical nodes in test (a non-empty bits vector which contains only zeros), export them as dummy numerical nodes and import again as dummy numerical nodes. If a feature only contains dummy numerical nodes, it will be deemed a numerical feature (same as for non-dummy numerical nodes or a mix thereof). Therefore, categorical feature max_matching == -1 is still prevented.
This PR fixes the logic for when the `nightly` channel should be removed.

The change is also incorporated in the forward-merger PR below, but it may take a while to resolve the conflicts there.

rapidsai#4349

Authors:
  - AJ Schmidt (https://github.com/ajschmidt8)

Approvers:
  - Ray Douglass (https://github.com/raydouglass)
  - Jordan Jacobelli (https://github.com/Ethyling)

URL: rapidsai#4350
To speed up inference on GPUs where extra shared memory can be opted in (and when this enables inference out of shared memory), take advantage.

Authors:
  - Levs Dolgovs (https://github.com/levsnv)

Approvers:
  - Andy Adinets (https://github.com/canonizer)
  - William Hicks (https://github.com/wphicks)

URL: rapidsai#3759
…ects (rapidsai#4317)

closes rapidsai#4037 

Adds index field to cumlarray to be able to use it to construct the output with the correct index from inputs.

Authors:
  - Dante Gama Dessavre (https://github.com/dantegd)

Approvers:
  - William Hicks (https://github.com/wphicks)

URL: rapidsai#4317
… NearestNeighbors Estimator" (rapidsai#4267)

This pull request partially solves [[FEA] rapidsai#3461](rapidsai#3461)

This quick-fix has been created to enable cuML's NearestNeighbor estimator to gracefully accept sklearns 'n_jobs' parameter as a pass-through.

The purpose of making this quick fix is to allow Imbalanced-Learn samplers to rely on cuML's NearestNeighbor estimator, without producing an error when setting the estimators n_jobs parameter .set_params(**{"n_jobs": self.n_jobs})

The[ original PR ](rapidsai#4178 address this issue was not sufficient, as [`set_params()`](https://github.com/rapidsai/cuml/blob/067344041b1563b19301e2e69240a56605a67997/python/cuml/common/base.pyx#L248) will still raise a ValueError if "n_jobs" is not returned by [`get_param_names()`](https://github.com/rapidsai/cuml/blob/067344041b1563b19301e2e69240a56605a67997/python/cuml/neighbors/nearest_neighbors.pyx#L453)

Authors:
  - https://github.com/NV-jpt
  - Dante Gama Dessavre (https://github.com/dantegd)

Approvers:
  - William Hicks (https://github.com/wphicks)

URL: rapidsai#4267
Current test has three issues in categorical data generation:
1. train data and test data are numerically very different. In this case, during testing, only the first few categories are exercised (low sensitivity)
2. during categorical conversion, columns are normalized row-wise instead of feature-wise. It doesn't lead to significantly different results, but just doesn't make sense
3. test data does not contain invalid categories

This PR fully fixes 1. and 2 and partially fixes 3.
Since FIL currently does not handle all kinds of invalid categories gracefully, only test ones it can so far.

The test can be tested by the following changes:
```diff
--- a/cpp/src/fil/internal.cuh
+++ b/cpp/src/fil/internal.cuh
@@ -348,7 +348,7 @@ struct categorical_sets {
     // features with similar categorical feature count, we may consider
     // storing node ID within nodes with same feature ID and look up
     // {.max_matching, .first_node_offset} = ...[feature_id]
-    return category <= max_matching[node.fid()] && fetch_bit(bits + node.set(), category);
+    return category <= max_matching[node.fid()] ? fetch_bit(bits + node.set(), category) : 1;
   }
   static int sizeof_mask_from_max_matching(int max_matching)
   {

```
This will help test rapidsai#4314

Authors:
  - Levs Dolgovs (https://github.com/levsnv)

Approvers:
  - Andy Adinets (https://github.com/canonizer)
  - William Hicks (https://github.com/wphicks)

URL: rapidsai#4326
This PR contains the implementation of the core algorithms of gplearn(tournaments + mutations + program evaluations) in cuml. 
Tagging all involved: @teju85 @venkywonka @vinaydes 

The goal is to complete the following tasks:

- [x] Implement program execution and metric evaluation for a given dataset on the GPU
- [x] Implement a batched version of the above for all programs in a generation
- [x] Run tournaments for program selection on the GPU
- [x] Perform all mutations on the CPU
- [x] Fit, Predict and Transform functions for api
- [x] Tests for all individual functions  
- [x] Add an example demonstrating how to perform symbolic regression (a similar approach can be taken for transformation too)

Authors:
  - Vimarsh Sathia (https://github.com/vimarsh6739)
  - Venkat (https://github.com/venkywonka)

Approvers:
  - Robert Maynard (https://github.com/robertmaynard)
  - Venkat (https://github.com/venkywonka)
  - Thejaswi. N. S (https://github.com/teju85)
  - Corey J. Nolet (https://github.com/cjnolet)
  - Tamas Bela Feher (https://github.com/tfeher)
  - Dante Gama Dessavre (https://github.com/dantegd)

URL: rapidsai#3638
…es (rapidsai#4300)

This PR makes it possible to train single GPU cuML models using Dask DataFrames and Series by converting the Dask data-structures to their cudf counterparts before training. This will allow using Dask-SQL with cuML models.

Tests added for logistic regression, currently working on adding more

Depends on rapidsai#4317

Authors:
  - https://github.com/ChrisJar
  - Sarah Yurick (https://github.com/sarahyurick)
  - Dante Gama Dessavre (https://github.com/dantegd)

Approvers:
  - Dante Gama Dessavre (https://github.com/dantegd)

URL: rapidsai#4300
zbjornson and others added 8 commits November 15, 2021 23:26
Undefined behavior introduced in rapidsai#4208. These parameters are restrict-qualified, but the callers pass pointers with the same address and the arrays are modified through both pointers.

Authors:
  - Zach Bjornson (https://github.com/zbjornson)

Approvers:
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#4363
…apidsai#4365)

`clang-format -version` installed with apt on Ubuntu reports `Ubuntu clang-format version 11.0.0-2~ubuntu20.04.1`, so we need an unanchored search here.

The script also requires 11.0.0 and not 8.0.1 now.

Authors:
  - Zach Bjornson (https://github.com/zbjornson)

Approvers:
  - Dante Gama Dessavre (https://github.com/dantegd)

URL: rapidsai#4365
…provided to FIL model (rapidsai#4314)

Fix potential CUDA context poison due to invalid global read when negative categories provided at inference:

now equivalent to non-matching.
FIL now converts dummy nodes to numerical on import
and never generates max_matching == -1 categorical features in test.
FIL will still generate empty categorical nodes in test (a non-empty bits vector which contains only zeros), export them as dummy numerical nodes and import again as dummy numerical nodes. If a feature only contains dummy numerical nodes, it will be deemed a numerical feature (same as for non-dummy numerical nodes or a mix thereof). Therefore, categorical feature max_matching == -1 is still prevented.

CI failures
```
Test Result (2 failures / +2)
cuml.test.test_fil.test_lightgbm[5-2]
cuml.test.test_fil.test_lightgbm[5-5]
```
will be resolved by rapidsai#4326

Authors:
  - Levs Dolgovs (https://github.com/levsnv)

Approvers:
  - Andy Adinets (https://github.com/canonizer)
  - William Hicks (https://github.com/wphicks)

URL: rapidsai#4314
A previous PR has accidentally uninlined two methods. We are not aware of a significant perf impact in one or another direction, but the intention was to explore the instruction-level impact more before mainlining the change.

Authors:
  - Levs Dolgovs (https://github.com/levsnv)

Approvers:
  - William Hicks (https://github.com/wphicks)
  - Andy Adinets (https://github.com/canonizer)

URL: rapidsai#4366
This PR updates the `conda` recipe build strings and `cudatoolkit` version specifications as part of the Enhanced Compatibility efforts.

The build strings have been updated to only include the major CUDA version (i.e. `librmm-21.12.00a-cuda11_gc781527_12.tar.bz2`) and the `cudatoolkit` version specifications will now be formatted like `cudatoolkit >=x,<y.0a0` (i.e. `cudatoolkit >=11,<12.0a0`).

Moving forward, we'll build the packages with a single CUDA version (i.e. `11.4`) and test them in environments with different CUDA versions (i.e. `11.0`, `11.2`, `11.4`, etc.).

Authors:
  - AJ Schmidt (https://github.com/ajschmidt8)

Approvers:
  - Ray Douglass (https://github.com/raydouglass)

URL: rapidsai#4288
@dantegd dantegd requested review from a team as code owners November 17, 2021 18:38
@dantegd dantegd changed the base branch from branch-21.12 to branch-22.02 November 17, 2021 18:38
@dantegd dantegd requested review from a team as code owners November 17, 2021 18:38
@github-actions github-actions bot added CMake conda conda issue CUDA/C++ Cython / Python Cython or Python issue gpuCI gpuCI issue labels Nov 17, 2021
@ajschmidt8 ajschmidt8 merged commit 7f3473a into rapidsai:branch-22.02 Nov 17, 2021
vimarsh6739 pushed a commit to vimarsh6739/cuml that referenced this pull request Oct 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CMake conda conda issue CUDA/C++ Cython / Python Cython or Python issue gpuCI gpuCI issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.