使用 GPU 包#
Anaconda 发行版包括多个将 GPU 用作 Accelerator 来提高性能,有时提高 5 倍或更多。 这些软件包可以显著改善机器学习和模拟的使用 案例,尤其是深度学习。阅读有关入门的更多信息 在 Anaconda 中使用 GPU 计算。
虽然 AMD 和 NVIDIA 都是 GPU 的主要供应商,但 NVIDIA 目前是 机器学习和云计算最常见的 GPU 供应商。信息 仅适用于 NVIDIA GPU。
GPU 兼容性#
GPU 加速要求 TensorFlow 等项目的作者 为可在 GPU 的 GPU 中。GPU 加速项目将调用 NVIDIA 特定的库 标准算法或使用 NVIDIA GPU 编译器编译自定义 GPU 代码。 仅项目作者专门修改的用于 GPU 使用的算法 将加速,并且项目的其余部分仍将在 CPU 上运行。
对于大多数包,GPU 支持是编译时或运行时的选择。 允许软件包的变体仅可用于 CPU。当 GPU support 是编译时选择,Anaconda 通常需要构建两个 版本,以允许用户在 “常规” 版本,以及 在 GPU 上运行的项目。
由于项目作者启用 CUDA 支持的方式不同,因此
不是检测包中 GPU 支持的通用方法。对于许多支持 GPU 的
软件包中,存在对cudatoolkit
包。其他软件包
比如 Numba 没有cudatoolkit
依赖项,因为它们可以使用
没有 GPU。
硬件要求#
NVIDIA 于 2006 年发布了用于 GPU 编程的 CUDA API,以及所有新的 NVIDIA 自该日期以来发布的 GPU 一直支持 CUDA,无论市场如何。 尽管过去 10 年发布的任何 NVIDIA GPU 在技术上都可以与 Anaconda,这些是机器学习,特别是模型的最佳选择 训练使用案例:
特斯拉 P100 或 V100
泰坦 RTX
GeForce RTX 3050 显卡
各种最新的 Quadro 型号
部署的模型并不总是需要 GPU。当 GPU 需要 GPU 时 deployed 模型,还有其他 Tesla GPU 模型更适合 推理而不是训练,例如 Tesla P4、P40 和 T4。
云和本地数据中心部署需要 Tesla 卡,而 GeForce、Quadro 和 Titan 选项适合在工作站中使用。
大多数用户将拥有 Intel 或 AMD 64 位 CPU。Anaconda 建议至少拥有 CPU 内存是 GPU 内存的 2 到 4 倍,并且至少 4 个 CPU 内核 支持在模型训练之前进行数据准备。数量有限 Anaconda 软件包也支持 IBM POWER 8/9 系统。
软件要求#
CUDA 的最佳性能和用户体验是在 Linux 系统上。 还支持 Windows。没有 Apple 计算机发布 NVIDIA GPU,因此它们通常缺乏用于机器学习的内存 应用程序,并且仅支持 GPU 上的 Numba。
使用 WSL 在 Windows 上安装 Linux
适用于 Linux 的 Windows 子系统 (WSL) 允许 Windows 用户直接在 Windows 上安装 Linux 发行版并运行 Linux 应用程序、使用 Linux 命令行工具,并更轻松地与 Linux 优先的框架进行交互。通过 Anaconda 提供的几个支持 GPU 的软件包要么专门用于 Linux,要么主要针对 Linux 环境进行优化。WSL 可以为 Windows 用户提供一种访问这些依赖 Linux 的软件包的潜在方法。
谨慎
虽然 WSL 可用于访问支持 GPU 的包,但 Anaconda 并未正式支持此工作流。选择此方法的用户需自行承担风险。对于那些对 Windows 上支持 GPU 的 PyTorch 特别感兴趣的人:Anaconda 正在积极开发支持 CUDA 的 PyTorch 的原生 Windows 版本,该版本将在即将发布的版本中提供。
要在 WSL 上运行 CUDA 并安装 Linux,请按照 NVIDIA 的 WSL 上的 CUDA 用户指南中的步骤作。您可以在 Microsoft 的 WSL 文档中找到有关安装和使用 WSL 的其他信息。
安装后,启动 WSL,然后按照 Linux 说明安装 Anaconda Distribution 或 Miniconda。请注意,即使您在 Windows 上已经有 Anaconda 或 Miniconda,这也需要重新安装,并且您需要复制要在 Linux 子系统中使用的任何环境。
Anaconda 要求用户安装满足 下表中的版本要求。Anaconda 不需要 安装 CUDA SDK。
Ubuntu 和其他一些 Linux 发行版附带第三方开源 名为 Nouveau 的 NVIDIA GPU 驱动程序。CUDA 需要替换 Nouveau 驱动程序。
所有其他 CUDA 库都以 conda 包的形式提供。
支持 GPU 的软件包是针对特定版本的 CUDA 构建的。现在
支持的版本包括 CUDA 11.8、12.0、12.1 和 12.2。NVIDIA 驱动程序是设计的
向后兼容较旧的 CUDA 版本,因此带有 NVIDIA 驱动程序的系统
版本 525.60.13 可以支持 CUDA 12.0 软件包及更早版本。因此,如果用户
未使用最新的 NVIDIA 驱动程序,则可能需要手动选择
通过选择cudatoolkit
康达
包中。要选择cudatoolkit
版中,添加
选择器(如cudatoolkit=12.1
添加到版本规范中。
所需的 NVIDIA 驱动程序版本,摘自 NVIDIA CUDA 工具包版本 注意:
CUDA Version |
Linux x86_64 Driver Version |
Windows x86_64 Driver Version |
---|---|---|
CUDA 11.8.x |
>= 450.80.02 |
>= 452.39 |
CUDA 12.0.x |
>= 525.60.13 |
>= 527.41 |
CUDA 12.1.x |
>= 525.60.13 |
>= 527.41 |
CUDA 12.2.x |
>= 525.60.13 |
>= 527.41 |
有时,特定的 GPU 硬件代系具有最低 CUDA 版本。截至 August 27th, 2018,唯一相关的约束是特斯拉 V100 和 Titan V(使用“Volta”GPU 架构)需要 CUDA 9 或更高版本。
可用套餐#
TensorFlow#
TensorFlow 是一个通用的机器学习库,但最流行的是深度
学习应用程序。有三种受支持的tensorflow
包中,其中之一是 NVIDIA GPU 版本。这是由
安装 meta 软件包tensorflow-gpu
.
conda install tensorflow-gpu
其他软件包(例如 Keras)依赖于泛型tensorflow
包名称
并将使用安装的任何版本的 TensorFlow。这使得
在环境中的变体之间切换。
PyTorch 插件#
PyTorch 是另一个专注于深度学习的机器学习库。PyTorch 插件 在运行时检测 GPU 可用性,因此用户无需安装 不同的 GPU 支持包。
conda install pytorch
Caffe(仅限 Linux)#
Caffe 是最早流行的深度学习库之一。
conda install caffe-gpu
Chainer/CuPy#
Chainer 是一个使用 NumPy 或 CuPy 进行计算的深度学习库。
conda install chainer
Chainer 的配套项目 CuPy 是 NumPy API 的 GPU 加速克隆 可以用作 NumPy 的直接替代品,只需对用户进行一些更改 代码。安装 CuPy 后, Chainer 是 GPU 加速的。也可以使用 CuPy 它本身用于一般数组计算。
conda install cupy
XGBoost(仅限 Windows/Linux)#
XGBoost 是一个实现梯度提升决策的机器学习库 树。训练多种形式的树是 GPU 加速的。
conda install py-xgboost-gpu
MXNet(仅限 Linux)#
MXNet 是一个机器学习库,受到各种行业合作伙伴的支持,大多数
尤其是亚马逊。与 TensorFlow 一样,它有三种变体,其中 GPU
variant 由mxnet-gpu
meta-package 中。
conda install mxnet-gpu
努巴#
Numba 是用于 Python 函数的通用 JIT 编译器。它提供了一种方法
要以纯 Python 语法实现自定义 GPU 算法,当cudatoolkit
包存在。
conda install numba cudatoolkit
Enterprise 中的 GPU 支持#
当集群具有 GPU 启用的 conda 包可以在数据科学和 AI Workbench 项目中使用 包含 GPU 的资源配置文件。有关更多详细信息,请参阅 GPU 支持 部分。