Skip to main content

cuML - RAPIDS ML Algorithms

Project description

cuML Python Package

This folder contains the Python and Cython code of the algorithms and ML primitives of cuML, that are distributed in the Python cuML package.

Contents:

Build Configuration

The build system uses setup.py for configuration and building.

cuML's setup.py can be configured through environment variables and command line arguments.

The environment variables are:

Environment variable Possible values Default behavior if not set Behavior
CUDA_HOME path/to/cuda_toolkit Inferred by location of nvcc Optional variable allowing to manually specify location of the CUDA toolkit.
CUML_BUILD_PATH path/to/libcuml_build_folder Looked for in path_to_cuml_repo/cpp/build Optional variable allowing to manually specify location of libcuml++ build folder.
RAFT_PATH path/to/raft Looked for in path_to_cuml_repo/cpp/build, if not found clone Optional variable allowing to manually specify location of the RAFT Repository.

The command line arguments (i.e. passed alongside setup.py when invoking, for example setup.py --singlegpu) are:

Argument Behavior
clean --all Cleans all Python and Cython artifacts, including pycache folders, .cpp files resulting of cythonization and compiled extensions.
--singlegpu Option to build cuML without multiGPU algorithms. Removes dependency on nccl and ucxx.

RAFT Integration in cuml.raft

RAFT's Python and Cython is located in the RAFT repository. It was designed to be included in projects as opposed to be distributed by itself, so at build time, setup.py creates a symlink from cuML, located in /python/cuml/raft/ to the Python folder of RAFT.

For developers that need to modify RAFT code, please refer to the RAFT Developer Guide for recommendations.

To configure RAFT at build time:

  1. If the environment variable RAFT_PATH points to the RAFT repo, then that will be used.
  2. If there is a libcuml build folder that has cloned RAFT already, setup.py will use that RAFT. Location of this can be configured with the environment variable CUML_BUILD_PATH.
  3. If none of the above happened, then setup.py will clone RAFT and use it directly.

The RAFT Python code gets included in the cuML build and distributable artifacts as if it was always present in the folder structure of cuML.

Build Requirements

cuML's convenience development yaml files includes all dependencies required to build cuML.

To build cuML's Python package, the following dependencies are required:

  • cudatoolkit version corresponding to system CUDA toolkit
  • cython >=3.0.0
  • numpy
  • cmake >=3.30.4
  • cudf version matching the cuML version
  • libcuml version matching the cuML version
  • libcuml={{ version }}
  • cupy >=13.6.0
  • joblib >=0.11

Packages required for multigpu algorithms*:

  • ucxx version matching the cuML version
  • dask-cudf version matching the cuML version
  • nccl>=2.5
  • rapids-dask-dependency version matching the cuML version
  • this can be avoided with --singlegpu argument flag.

Python Tests

Python tests are based on the pytest library. To run them, from the path_to_cuml/python/ folder, simply type pytest.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cuml_cu13-26.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

cuml_cu13-26.2.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

cuml_cu13-26.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

cuml_cu13-26.2.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

cuml_cu13-26.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

cuml_cu13-26.2.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

cuml_cu13-26.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

cuml_cu13-26.2.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

File details

Details for the file cuml_cu13-26.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cuml_cu13-26.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 107e20df8edee745e540b32b4149ab9cae94561e541b1a86662e3a8c84717e1d
MD5 bcfb222b1fa7ec502878e6105b91d9ad
BLAKE2b-256 4154cba8666c692fa7115ee7a8aa818f85d8f6af3fb044cf42a7b3f76c3fce1a

See more details on using hashes here.

File details

Details for the file cuml_cu13-26.2.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cuml_cu13-26.2.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d600613de5547dd470ad11df8c0ea571f3ac70406b8fd9ad6f90920d0bdd88d1
MD5 c125f210f1ff776f50a8ea2cc12b950e
BLAKE2b-256 685c74f6c4ab5003dc1d65734d03b5c790bcd5adf846026d152a1b45e404272c

See more details on using hashes here.

File details

Details for the file cuml_cu13-26.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cuml_cu13-26.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1f6108e4675d7f5cb4bd70ba96656573c5e0de0ced0d43c1d663942fad489144
MD5 bff2b5424b5abb1ddef25ba2e3854dc9
BLAKE2b-256 782f24bbaf74b9aa97b23e0a56728ffdaaae1fb9d7a1997e06865c1eee680fdd

See more details on using hashes here.

File details

Details for the file cuml_cu13-26.2.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cuml_cu13-26.2.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 be9965c3da8916af90ece57f421cf50190ef061596b627e10be1d84c7c81a0c6
MD5 fbe5bf19b337df6b1ac61bb6633e6139
BLAKE2b-256 a21d45a1c0d0bed30aeee3f176892e8f521ef66d1220c059ecd8e9ca4772845b

See more details on using hashes here.

File details

Details for the file cuml_cu13-26.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cuml_cu13-26.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 efc8b59721078980341975b84bf36c6153079e1d464b2c7aaa96780f748465f9
MD5 57ffa11a24c802ff5d216cda889da559
BLAKE2b-256 b4244811290a34e245197228506ccf0b591b1baf3b2df1d77f32134a56189132

See more details on using hashes here.

File details

Details for the file cuml_cu13-26.2.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cuml_cu13-26.2.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8d64fa9b65d3c50ca9927922dc33c7acab7e3fec50767a596e28d2adb2130f78
MD5 055496acd9d06bba81acbe19dd2a28e0
BLAKE2b-256 ffa0e0f0aad13c33f8e96cc3a9f928fcf3ab4c0f4e50732a68aaa272562a41ac

See more details on using hashes here.

File details

Details for the file cuml_cu13-26.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cuml_cu13-26.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 85370ef64496d01c95ccfa485cca53526c32cb57f4ce9c435696706a4d734f81
MD5 26f6d688f330c5ae52502c8f3bcc1a59
BLAKE2b-256 8c8771634172fc7683fd0a13cf7539cf52ba8c8368d6b31471abf3f719e0e154

See more details on using hashes here.

File details

Details for the file cuml_cu13-26.2.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cuml_cu13-26.2.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7176be69734ce98b6ec8fd0d099c5733f9280948e545a0446c293537f5936d2b
MD5 0a98cefd6ad1b2c7decd119a10ff0a5b
BLAKE2b-256 c679dbcf5a446d2529a8d5ec99a36f7dffa1236eb4df98225e190271d8aa23f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page