跳转到主要内容

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 将从 cuML 创建一个符号链接,cuML 位于 /python/cuml/raft/,指向 RAFT 的 Python 文件夹

对于需要修改 RAFT 代码的开发者,请参阅 RAFT 开发者指南 获取建议。

在构建时配置 RAFT

  1. 如果环境变量 RAFT_PATH 指向 RAFT 仓库,则将使用该仓库。
  2. 如果已经有一个包含 RAFT 的 libcuml 构建文件夹,setup.py 将使用该 RAFT。此位置可以通过环境变量 CUML_BUILD_PATH 进行配置。
  3. 如果以上都没有发生,则 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_cu11-24.8.0.tar.gz (2.1 kB 查看哈希值)

上传于 源代码

由以下支持