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, libcumlprims and ucx-py. |
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:
- If the environment variable
RAFT_PATHpoints to the RAFT repo, then that will be used. - 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.
- 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 >= 0.29, < 0.30
- numpy
- cmake >= 3.14
- cudf version matching the cuML version
- libcuml version matching the cuML version
- libcuml={{ version }}
- cupy>=7.8.0,<12.0.0a0
- joblib >=0.11
Packages required for multigpu algorithms*:
- libcumlprims version matching the cuML version
- ucx-py 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
--singlegpuargument flag.
Python Tests
Python tests are based on the pytest library. To run them, from the path_to_cuml/python/ folder, simply type pytest.
Metadata
Release files for cuml-cu11 25.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cuml_cu11-25.6.0.tar.gz | 2.5 kB | Without provenance | Details for cuml_cu11-25.6.0.tar.gz |
Release files / cuml_cu11-25.6.0.tar.gz
| Download URL | cuml_cu11-25.6.0.tar.gz |
|---|---|
| Size | 2.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c9a01141f4eb3aef266233433b6c19249833736787b8a867c1d6ef9bd25f5750
|
|
BLAKE2b-256 checksum How to use checksums |
1368f4ae448eb88d3e10381eca9b4e076d72a82f3a47d205ea96f348c4ee31aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.10.18
|
Security for cuml-cu11 25.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.