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

[gpuCI] Auto-merge branch-0.18 to branch-0.19 [skip ci] #3444

Merged
merged 27 commits into from
Feb 11, 2021
Merged
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
da87257
Prepare Changelog for Automation (#3442)
ajschmidt8 Feb 1, 2021
df67553
Allow saving Dask RandomForest models immediately after training (fix…
jameslamb Feb 1, 2021
fa9edbc
Enable feature sampling for the experimental backend of Random Forest…
vinaydes Feb 2, 2021
28953ab
Improve Python Docs with Default Role (#3445)
mdemoret-nv Feb 2, 2021
8201a33
MNMG DBSCAN (#3382)
Nyrio Feb 2, 2021
fa2371a
MNMG KNN consolidation (#3307)
viclafargue Feb 2, 2021
a3c62b1
Ensure make_classification respects output type (#3415)
wphicks Feb 2, 2021
9196252
genetic programming initial structures (#3387)
teju85 Feb 3, 2021
d5bb758
Relaxing Batched SilhouetteScore Test Constraint (#3452)
divyegala Feb 3, 2021
d69f08c
Fix failing sparse NN test in CI by allowing small number of index di…
cjnolet Feb 3, 2021
b90142f
FIL to use L1 cache when input columns don't fit into shared memory (…
levsnv Feb 4, 2021
a01a55d
Mark kbinsdiscretizer quantile tests as xfail (#3450)
wphicks Feb 4, 2021
b6e6450
Fix memory bug for SVM with large n_rows (#3420)
tfeher Feb 4, 2021
6844932
Exempting thirdparty code from copyright checks (#3453)
lowener Feb 4, 2021
4f47fd0
Fix naive bayes inputs (#3448)
cjnolet Feb 4, 2021
bb1f8dd
Speed up knn tests (#3411)
JohnZed Feb 4, 2021
0955096
Fix for default arguments of PCA (#3320)
lowener Feb 4, 2021
39c7262
FIX Update cupy to >= 7.8 and remove unused build.sh script (#3378)
dantegd Feb 4, 2021
dec134a
Replacing sklearn functions with cuml in RF MNMG notebook (#3408)
lowener Feb 5, 2021
d49dd1a
Clean Up `#include` Dependencies (#3402)
mdemoret-nv Feb 5, 2021
c9c8619
Fixing documentation on SimpleImputer (#3447)
lowener Feb 5, 2021
c1a7447
Update failing MNMG tests (#3348)
viclafargue Feb 8, 2021
ec462e7
Update call to dask client persist (#3474)
dantegd Feb 9, 2021
8082f3b
cuml.experimental SHAP improvements (#3433)
dantegd Feb 10, 2021
ae2aeda
Adding warning for IVFPQ (#3472)
viclafargue Feb 10, 2021
f1abbeb
Minor doc updates for 0.18 (#3475)
JohnZed Feb 10, 2021
1d486c7
Fix illegal memory accesses when NITEMS > 1, and nrows % NITEMS != 0.…
canonizer Feb 10, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 3 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
# cuML 0.18.0 (Date TBD)
# 0.18.0

## New Features

## Improvements

## Bug Fixes
- PR #3279: Correct pure virtual declaration in manifold_inputs_t
Please see https://github.com/rapidsai/cuml/releases/tag/branch-0.18-latest for the latest changes to this development branch.

# cuML 0.17.0 (Date TBD)
# cuML 0.17.0 (10 Dec 2020)

## New Features
- PR #3164: Expose silhouette score in Python
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ repo](https://github.com/rapidsai/notebooks-contrib).
### Supported Algorithms
| Category | Algorithm | Notes |
| --- | --- | --- |
| **Clustering** | Density-Based Spatial Clustering of Applications with Noise (DBSCAN) | |
| **Clustering** | Density-Based Spatial Clustering of Applications with Noise (DBSCAN) | Multi-node multi-GPU via Dask |
| | K-Means | Multi-node multi-GPU via Dask |
| **Dimensionality Reduction** | Principal Components Analysis (PCA) | Multi-node multi-GPU via Dask|
| | Incremental PCA | |
Expand All @@ -96,6 +96,7 @@ repo](https://github.com/rapidsai/notebooks-contrib).
| **Linear Models for Regression or Classification** | Linear Regression (OLS) | Multi-node multi-GPU via Dask |
| | Linear Regression with Lasso or Ridge Regularization | Multi-node multi-GPU via Dask |
| | ElasticNet Regression | |
| | LARS Regression | (experimental) |
| | Logistic Regression | Multi-node multi-GPU via Dask-GLM [demo](https://github.com/daxiongshu/rapids-demos) |
| | Naive Bayes | Multi-node multi-GPU via Dask |
| | Stochastic Gradient Descent (SGD), Coordinate Descent (CD), and Quasi-Newton (QN) (including L-BFGS and OWL-QN) solvers for linear models | |
Expand Down
6 changes: 6 additions & 0 deletions ci/checks/copyright.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@
re.compile(r"[.]flake8[.]cython$"),
re.compile(r"meta[.]yaml$")
]
ExemptFiles = [
re.compile(r"_thirdparty")
]

# this will break starting at year 10000, which is probably OK :)
CheckSimple = re.compile(
Expand All @@ -53,6 +56,9 @@ def checkThisFile(f):
return False
if gitutils and gitutils.isFileEmpty(f):
return False
for exempt in ExemptFiles:
if exempt.search(f):
return False
for checker in FilesToCheck:
if checker.search(f):
return True
Expand Down
96 changes: 0 additions & 96 deletions ci/mg/build.sh

This file was deleted.

4 changes: 2 additions & 2 deletions conda/recipes/cuml/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2021, NVIDIA CORPORATION.
# Copyright (c) 2018-2021, NVIDIA CORPORATION.

# Usage:
# conda build . -c defaults -c conda-forge -c numba -c rapidsai -c pytorch
Expand Down Expand Up @@ -40,8 +40,8 @@ requirements:
- dask-cudf {{ minor_version }}
- libcuml={{ version }}
- libcumlprims {{ minor_version }}
- cupy>=7.8.0,<9.0.0a0
- treelite=1.0.0
- cupy>7.1.0,<9.0.0a0
- nccl>=2.5
- ucx-py {{ minor_version }}
- dask>=2.12.0
Expand Down
2 changes: 1 addition & 1 deletion conda/recipes/libcuml/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2021, NVIDIA CORPORATION.
# Copyright (c) 2018-2021, NVIDIA CORPORATION.

# Usage:
# conda build . -c defaults -c conda-forge -c nvidia -c rapidsai -c pytorch
Expand Down
42 changes: 32 additions & 10 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#=============================================================================
# Copyright (c) 2018-2020, NVIDIA CORPORATION.
# Copyright (c) 2018-2021, NVIDIA CORPORATION.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -206,6 +206,9 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_BINARY_DIR}/cmake)
# https://github.com/rapidsai/cuml/issues/2194
find_package(CUDA 10.0 REQUIRED)

# Set the -isystem flag to not have an '=' sign to allow parsing of compile_commands.json
set(CMAKE_INCLUDE_SYSTEM_FLAG_CUDA "-isystem ")

if (NOT DISABLE_OPENMP OR NOT ${DISABLE_OPENMP})
find_package(OpenMP)
if(OPENMP_FOUND)
Expand Down Expand Up @@ -324,16 +327,18 @@ include(cmake/Dependencies.cmake)

set(CUML_INCLUDE_DIRECTORIES
${CUML_INCLUDE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}/src_prims
${CMAKE_CURRENT_SOURCE_DIR}/test/prims
${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}
${CUTLASS_DIR}/src/cutlass
${SPDLOG_DIR}/src/spdlog/include
${FAISS_INCLUDE_DIRS}
${RAFT_DIR}/cpp/include
${RMM_INCLUDE_DIRS})

# These directories will be used by dependent targets
set(CUML_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
set(CUML_SRC_PRIMS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src_prims)
set(CUML_TEST_PRIMS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/test/prims)

if(NOT CUB_IS_PART_OF_CTK)
list(APPEND CUML_INCLUDE_DIRECTORIES ${CUB_DIR}/src/cub)
endif(NOT CUB_IS_PART_OF_CTK)
Expand Down Expand Up @@ -386,8 +391,6 @@ if(BUILD_CUML_CPP_LIBRARY)
add_library(${CUML_CPP_TARGET} SHARED
src/arima/batched_arima.cu
src/arima/batched_kalman.cu
src/common/cumlHandle.cpp
src/common/cuml_api.cpp
src/common/logger.cpp
src/common/nvtx.cu
src/datasets/make_arima.cu
Expand All @@ -400,6 +403,8 @@ if(BUILD_CUML_CPP_LIBRARY)
src/fil/fil.cu
src/fil/infer.cu
src/glm/glm.cu
src/genetic/genetic.cu
src/genetic/node.cu
src/holtwinters/holtwinters.cu
src/kmeans/kmeans.cu
src/knn/knn.cu
Expand Down Expand Up @@ -442,7 +447,6 @@ if(BUILD_CUML_CPP_LIBRARY)
src/glm/ridge_mg.cu
src/kmeans/kmeans_mg.cu
src/knn/knn_mg.cu
src/knn/knn_opg_common.cu
src/knn/knn_classify_mg.cu
src/knn/knn_regress_mg.cu
src/pca/pca_mg.cu
Expand All @@ -461,15 +465,24 @@ if(BUILD_CUML_CPP_LIBRARY)
link_directories(${CUDA_TOOLKIT_ROOT_DIR}/lib64)
endif(NVTX)

target_compile_definitions(${CUML_CPP_TARGET}
PRIVATE
CUML_CPP_API)

target_include_directories(${CUML_CPP_TARGET}
PRIVATE ${CUML_INCLUDE_DIRECTORIES})
PUBLIC
${CUML_INCLUDE_DIRECTORIES}
PRIVATE
${CUML_SRC_DIR}
${CUML_SRC_PRIMS_DIR})

target_link_libraries(${CUML_CPP_TARGET}
PUBLIC
${CUML_PUBLIC_LINK_LIBRARIES}
PRIVATE
${CUML_PRIVATE_LINK_LIBRARIES}
)

# If we export the libdmlc symbols, they can lead to weird crashes with other
# libraries that use libdmlc. This just hides the symbols internally.
target_link_options(${CUML_CPP_TARGET} PRIVATE "-Wl,--exclude-libs,libdmlc.a")
Expand All @@ -485,14 +498,23 @@ if(BUILD_CUML_C_LIBRARY)
set(CUML_C_TARGET "cuml")

add_library(${CUML_C_TARGET} SHARED
src/common/cumlHandle.cpp
src/common/cuml_api.cpp
src/dbscan/dbscan_api.cpp
src/glm/glm_api.cpp
src/holtwinters/holtwinters_api.cpp
src/svm/svm_api.cpp)
src/knn/knn_api.cpp
src/svm/svm_api.cpp
)

target_compile_definitions(${CUML_C_TARGET}
PRIVATE
CUML_C_API)

target_include_directories(${CUML_C_TARGET}
PRIVATE ${CUML_INCLUDE_DIRECTORIES})
PRIVATE
${CUML_SRC_DIR}
)

target_link_libraries(${CUML_C_TARGET} PUBLIC ${CUML_CPP_TARGET})
endif(BUILD_CUML_C_LIBRARY)
Expand Down
24 changes: 16 additions & 8 deletions cpp/bench/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#=============================================================================
# Copyright (c) 2019-2020, NVIDIA CORPORATION.
# Copyright (c) 2019-2021, NVIDIA CORPORATION.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -41,8 +41,10 @@ if(BUILD_CUML_BENCH)
benchmarklib)

target_include_directories(sg_benchmark
PRIVATE ${GBENCH_DIR}/include
${CUML_INCLUDE_DIRECTORIES})
PRIVATE
${GBENCH_DIR}/include
${CUML_SRC_PRIMS_DIR}
)
endif(BUILD_CUML_BENCH)

##############################################################################
Expand All @@ -64,17 +66,23 @@ if(BUILD_CUML_PRIMS_BENCH)
prims/matrix_vector_op.cu
prims/permute.cu
prims/reduce.cu
prims/rng.cu
../src/common/logger.cpp) # because prims is header only!
prims/rng.cu)

if(NOT CUB_IS_PART_OF_CTK)
add_dependencies(prims_benchmark cub)
endif(NOT CUB_IS_PART_OF_CTK)
add_dependencies(prims_benchmark spdlog)

target_link_libraries(prims_benchmark ${CUDA_cublas_LIBRARY} benchmarklib)
target_link_libraries(prims_benchmark
PUBLIC
${CUDA_cublas_LIBRARY}
benchmarklib
${CUML_CPP_TARGET}
)

target_include_directories(prims_benchmark
PRIVATE ${GBENCH_DIR}/include
${CUML_INCLUDE_DIRECTORIES})
PRIVATE
${GBENCH_DIR}/include
${CUML_SRC_PRIMS_DIR}
)
endif(BUILD_CUML_PRIMS_BENCH)
3 changes: 1 addition & 2 deletions cpp/bench/sg/dataset.cuh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019-2020, NVIDIA CORPORATION.
* Copyright (c) 2019-2021, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -18,7 +18,6 @@

#include <raft/cudart_utils.h>
#include <raft/linalg/transpose.h>
#include <common/cumlHandle.hpp>
#include <cuml/cuml.hpp>
#include <cuml/datasets/make_blobs.hpp>
#include <fstream>
Expand Down
3 changes: 1 addition & 2 deletions cpp/bench/sg/dataset_ts.cuh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2020, NVIDIA CORPORATION.
* Copyright (c) 2020-2021, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -16,7 +16,6 @@

#pragma once

#include <common/cumlHandle.hpp>
#include <cuml/cuml.hpp>
#include <raft/cuda_utils.cuh>

Expand Down
12 changes: 6 additions & 6 deletions cpp/bench/sg/dbscan.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019-2020, NVIDIA CORPORATION.
* Copyright (c) 2019-2021, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -15,7 +15,7 @@
*/

#include <cuml/cluster/dbscan.hpp>
#include <cuml/cuml.hpp>

#include <utility>
#include "benchmark.cuh"

Expand Down Expand Up @@ -51,10 +51,10 @@ class Dbscan : public BlobsFixture<D, int> {
state.SkipWithError("Dbscan only supports row-major inputs");
}
this->loopOnState(state, [this, &state]() {
dbscanFit(*this->handle, this->data.X, this->params.nrows,
this->params.ncols, D(dParams.eps), dParams.min_pts,
this->data.y, this->core_sample_indices,
dParams.max_bytes_per_batch);
ML::Dbscan::fit(*this->handle, this->data.X, this->params.nrows,
this->params.ncols, D(dParams.eps), dParams.min_pts,
this->data.y, this->core_sample_indices,
dParams.max_bytes_per_batch);
state.SetItemsProcessed(this->params.nrows * this->params.ncols);
});
}
Expand Down
Loading