New package: libcuml (#19471)

* [libcuml] created template

* [libcuml] set cmake list dir

* [libcuml] added some dependencies

* [libcuml] adding some default cmake args

* [libcuml] depends on nccl

* [libcuml] temporarily disabling cuml prims building

* [libcuml] building internal faiss?

* [libcuml] added dependency treelite

* [libcuml] depends on google_test

* [libcuml] forcing single gpu per: https://github.com/rapidsai/cuml/issues/2528#issuecomment-657675957

* [libcuml] added prims?

* [libcuml] adding libcumlcomms ?

* Revert "[libcuml] adding libcumlcomms ?"

This reverts commit 0e0765b7d4d27bdc01d54d24e8c2f9eac1cb4eb2.

* Revert "[libcuml] added prims?"

This reverts commit d0b1f868ea5e425cc7d1a5ce7adc642258dfc38e.

* [libcuml] added varient single gpu

* [libcuml] removed variant singlegpu

* [libcuml] added homepage and description. removed fixmes

* [libcuml] flake8

* [libcuml] cleaning up leftover commented out code

* [libcuml] updated checksum added ucx dependency
This commit is contained in:
Jen Herting 2020-11-11 11:55:57 -05:00 committed by GitHub
parent f5c7a3619a
commit b660a2112f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,45 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Libcuml(CMakePackage):
"""cuML is a suite of libraries that implement machine
learning algorithms and mathematical primitives functions
that share compatible APIs with other RAPIDS projects."""
homepage = "https://rapids.ai"
url = "https://github.com/rapidsai/cuml/archive/v0.15.0.tar.gz"
version('0.15.0', sha256='5c9c656ae4eaa94a426e07d7385fd5ea0e5dc7abff806af2941aee10d4ca99c7')
depends_on('cmake@3.14:', type='build')
depends_on('zlib')
depends_on('libcudf@0.8:')
depends_on('cuda@9.2:')
depends_on('blas')
depends_on('nccl@2.4:')
depends_on('treelite')
depends_on('googletest')
depends_on('libcumlprims')
depends_on('mpi')
depends_on('ucx')
root_cmakelists_dir = 'cpp'
def cmake_args(self):
args = []
args.append("-DNCCL_PATH={0}".format(self.spec['nccl'].prefix))
args.append("-DBUILD_CUML_C_LIBRARY=ON")
args.append("-DWITH_UCX=ON")
args.append("-DNVTX=OFF")
args.append("-DBUILD_STATIC_FAISS=ON")
args.append("-DSINGLEGPU=OFF")
args.append("-DENABLE_CUMLPRIMS_MG=ON")
args.append("-DBUILD_CUML_MPI_COMMS=ON")
return args