diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 412cadcd14..2cf9cadfc1 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -185,6 +185,7 @@ include(cmake/thirdparty/get_rmm.cmake) include(cmake/thirdparty/get_faiss.cmake) include(cmake/thirdparty/get_treelite.cmake) include(cmake/thirdparty/get_raft.cmake) +include(cmake/thirdparty/get_cuco.cmake) if(NOT SINGLEGPU) include(cmake/thirdparty/get_nccl.cmake) @@ -337,6 +338,7 @@ if(BUILD_CUML_CPP_LIBRARY) cuml::Thrust raft::raft PRIVATE + cuco::cuco CUDA::cublas CUDA::cufft CUDA::curand diff --git a/cpp/cmake/thirdparty/get_cuco.cmake b/cpp/cmake/thirdparty/get_cuco.cmake new file mode 100644 index 0000000000..94ce6abf7d --- /dev/null +++ b/cpp/cmake/thirdparty/get_cuco.cmake @@ -0,0 +1,35 @@ +#============================================================================= +# Copyright (c) 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. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#============================================================================= + +function(find_and_configure_cuco VERSION) + + rapids_cpm_find(cuco ${VERSION} + GLOBAL_TARGETS cuco cuco::cuco + CPM_ARGS + GIT_REPOSITORY https://github.com/NVIDIA/cuCollections.git + GIT_TAG e5e2abe55152608ef449ecf162a1ef52ded19801 + OPTIONS "BUILD_TESTS OFF" + "BUILD_BENCHMARKS OFF" + "BUILD_EXAMPLES OFF" + ) + + if(NOT TARGET cuco::cuco) + add_library(cuco::cuco ALIAS cuco) + endif() + +endfunction() + +find_and_configure_cuco(0.0.1) diff --git a/python/cuml/test/test_dbscan.py b/python/cuml/test/test_dbscan.py index 0c9d5c8e88..95944669cd 100644 --- a/python/cuml/test/test_dbscan.py +++ b/python/cuml/test/test_dbscan.py @@ -86,7 +86,7 @@ def test_dbscan_precomputed(datatype, nrows, max_mbytes_per_batch, out_dtype): # Precompute distances Xc = np.array([[complex(p[0], p[1]) for p in X]]) - X_dist = np.abs(Xc - Xc.T, dtype=datatype) + X_dist = np.abs(Xc - Xc.T).astype(datatype) eps = 1 cuml_dbscan = cuDBSCAN(eps=eps, min_samples=2, metric='precomputed',