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_cu12-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_cu12-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_cu12-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_cu12-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_cu12-26.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

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

cuml_cu12-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_cu12-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_cu12-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_cu12-26.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cuml_cu12-26.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9fdc97f80e07d08be64df950ae068cbb386c485cebd61f44e3f2b8608fa6d37f
MD5 3724afc3e8dae456a54d8519a2e522f4
BLAKE2b-256 e12acee4ce8744e1ab2d79abd226502cdeeef0a7f1dd20d2cc9f86e6aa0eec9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuml_cu12-26.2.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e19a40ca65bc3f71653473e2cbde82eb028f6ad66477d4b6fe706806f7c67637
MD5 2d818e4feb8aa93bb4b603d1b5a3baae
BLAKE2b-256 3bb605c4ad7341778a77eaca31f1592dab7baf0439b98d23444b88902562034a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuml_cu12-26.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7eeb6f3dda78e0172c88d4eb9a927ae08efb3307631b4d3acb863c98a1718472
MD5 bac59cff42bea0850775cbd75d43a305
BLAKE2b-256 934abef5f3d34020f02518e4c60e06504ba5876245c42f8dc4a34de4be0d5504

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuml_cu12-26.2.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9e406b44b4e4c3412029a02fa2239cf643ce1b84e034fdcc7ba6170669592ca8
MD5 adc222efa4b71092b40d3a26a16f1ebc
BLAKE2b-256 3372b96dbd737500bcdca47557a59fbac635cf46c8c75090990a083840797d31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuml_cu12-26.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7c935ad242bc80038ba8cd509e0f910655ff0838fb383404049edd3de8658394
MD5 7c08a84cba5b6be83321c17b04aa0540
BLAKE2b-256 3ec38e9639fbb616305fc550b92e6f19b9e8f16b334becee7e6c5e95385be85a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuml_cu12-26.2.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9a38f3865f750cfccca763c9f96871a592c7839410c04ab9bb20cf9fdf84116b
MD5 60349e190248c4df2d6960a9ed58c293
BLAKE2b-256 efc6c34a80fb4a78cd740d99adb847ebcac184431ec89eb2e675f6dd0f449dd2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuml_cu12-26.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2193914471b8c38b431f0a0d70aa061de5e26f336bb92728627b45852c22c63f
MD5 a2a9481e6457b23fd69e15789d8c318e
BLAKE2b-256 ddb6ca58e5eee7011c2f7543b62b28c474f8c36991120b9363e852324697a5f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cuml_cu12-26.2.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 57da718d9dd0eeffe80c6649fb79cf485f1c62c07d25e8c80a5e48c66ee50b5a
MD5 d4829badf9866517516ba7e973e58937
BLAKE2b-256 75012785811fd762b765febebb2fa759d91e3bb8684e506ce3063746bef4a8ff

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