cuML - RAPIDS ML算法
项目描述
cuML Python包
此文件夹包含cuML算法和ML原语(在Python cuML包中分发)的Python和Cython代码。
内容
构建配置
构建系统使用setup.py进行配置和构建。
cuML的setup.py可以通过环境变量和命令行参数进行配置。
环境变量是
环境变量 | 可能值 | 未设置时的默认行为 | 行为 |
---|---|---|---|
CUDA_HOME | path/to/cuda_toolkit | 通过nvcc的位置推断 | 允许手动指定CUDA工具包位置的可选变量。 |
CUML_BUILD_PATH | path/to/libcuml_build_folder | 在path_to_cuml_repo/cpp/build中查找 | 允许手动指定libcuml++构建文件夹位置的可选变量。 |
RAFT_PATH | path/to/raft | 在path_to_cuml_repo/cpp/build中查找,如果未找到则克隆 | 允许手动指定RAFT存储库位置的可选变量。 |
命令行参数(即调用时与setup.py一起传递的参数,例如setup.py --singlegpu
)是
参数 | 行为 |
---|---|
clean --all | 清理所有Python和Cython工件,包括pycache文件夹、由cythonization产生的.cpp文件和编译扩展。 |
--singlegpu | 构建不带多GPU算法的cuML的选项。删除对nccl、libcumlprims和ucx-py的依赖。 |
cuml.raft中的RAFT集成
RAFT的Python和Cython位于RAFT仓库中。它被设计成可以包含到项目中,而不是单独分发,因此在构建时,setup.py会将位于/python/cuml/raft/
的cuML创建一个符号链接到RAFT的Python文件夹。
对于需要修改RAFT代码的开发者,请参阅RAFT开发者指南以获取建议。
要在构建时配置RAFT
- 如果环境变量
RAFT_PATH
指向了RAFT仓库,则将使用该路径。 - 如果存在一个已经克隆了RAFT的libcuml构建文件夹,setup.py将使用该RAFT。此位置的配置可以通过环境变量CUML_BUILD_PATH进行。
- 如果上述任何一种情况都没有发生,则setup.py将克隆RAFT并直接使用它。
RAFT的Python代码被包含在cuML的构建和可分发工件中,就像它始终存在于cuML的文件夹结构中一样。
构建需求
cuML的便利开发yaml文件包括了构建cuML所需的所有依赖项。
要构建cuML的Python包,需要以下依赖项
- 与系统CUDA工具包对应的cudatoolkit版本
- cython >= 0.29, < 0.30
- numpy
- cmake >= 3.14
- 与cuML版本匹配的cudf版本
- 与cuML版本匹配的libcuml版本
- libcuml={{ version }}
- cupy>=7.8.0,<12.0.0a0
- joblib >=0.11
多GPU算法所需的包*
- 与cuML版本匹配的libcumlprims版本
- 与cuML版本匹配的ucx-py版本
- 与cuML版本匹配的dask-cudf版本
- nccl>=2.5
- 与cuML版本匹配的rapids-dask-dependency版本
- 可以使用
--singlegpu
参数标志避免此情况。
Python测试
Python测试基于pytest库。要运行它们,从path_to_cuml/python/
文件夹,只需输入pytest
。
项目详情
关闭
cuml_cu12-24.8.0.tar.gz的散列
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 25dd897bc9d60856f305ebb7ac0914e8009a3cc57cfd0cf0711403645a0717a1 |
|
MD5 | d1d85f8ff782afc4dd7a00d5b949bdfe |
|
BLAKE2b-256 | 0dc64c5c466fe05520d2d820539b49c932314827ab7ac3dd9e2dee90bdcf288d |