Google Cloud Platform (GCP) 上的 L4 GPU#
L4 GPU 相比 T4 GPU,是一种更节能、计算效率更高的选择。L4 GPU 已在 GCP 上普遍可用,可用于运行 RAPIDS 工作流程。
Compute Engine 实例#
创建虚拟机#
创建带有 L4 GPU 的 VM 实例以运行 RAPIDS
打开 Compute Engine。
选择 创建实例。
在 机器配置 部分,选择 GPU,然后在 GPU 类型 下拉菜单中选择
NVIDIA L4
。在 启动磁盘 部分,点击 更改,并在 操作系统 下拉菜单中选择
Deep Learning on Linux
。还建议将默认启动磁盘大小增加到例如
100GB
。自定义实例的其他属性后,点击 创建。
允许网络访问#
为了访问 Jupyter 和 Dask,我们需要设置一些防火墙规则来打开一些端口。
创建防火墙规则#
打开 VPC 网络。
选择 防火墙 并 创建防火墙规则
为规则指定一个名称,例如
rapids
,并确保网络与您为 VM 选择的网络匹配。添加一个标签,例如
rapids
,我们将使用此标签将规则分配给我们的 VM。设置您的源 IP 范围。我们建议您将其限制为自己的 IP 地址或公司网络,而不是
0.0.0.0/0
,因为后者会允许任何人访问您的 VM。在 协议和端口 下,允许端口
22,8786,8787,8888
上的 TCP 连接。
将其分配给 VM#
打开 Compute Engine。
选择您的 VM 并按 编辑。
向下滚动到 网络,并添加您为防火墙规则指定的
rapids
网络标签。选择 保存。
连接到 VM#
接下来我们需要连接到 VM。
打开 Compute Engine。
找到您的 VM 并点击 SSH 按钮,这将在新的浏览器标签页中打开一个终端。
安装 CUDA 和 NVIDIA Container Toolkit#
由于 GCP 建议在 L4 VM 上使用 CUDA 12,我们将升级 CUDA。
在您的 VM 中安装 CUDA Toolkit 12,并使用以下命令接受默认提示。
$ wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run
$ sudo sh cuda_12.1.1_530.30.02_linux.run
使用以下命令安装 NVIDIA Container Toolkit。
$ sudo apt-get update
$ sudo apt-get install -y nvidia-container-toolkit
$ sudo nvidia-ctk runtime configure --runtime=docker
$ sudo systemctl restart docker
安装 RAPIDS#
有多种方法可以安装 RAPIDS,您可以通过 RAPIDS 发行版本选择器 查看。
对于本例,我们将运行 RAPIDS Docker 容器,因此我们需要知道最新容器的名称。在发行版本选择器上,在 方法 列中选择 Docker。
然后复制显示的命令
docker pull nvcr.io/nvidia/rapidsai/notebooks:25.04-cuda12.8-py3.12 docker run --gpus all --rm -it \ --shm-size=1g --ulimit memlock=-1 \ -p 8888:8888 -p 8787:8787 -p 8786:8786 \ nvcr.io/nvidia/rapidsai/notebooks:25.04-cuda12.8-py3.12
注意
如果在运行这些命令时看到“docker socket permission denied”错误,请尝试关闭并重新连接您的 SSH 窗口。这是因为您的用户在登录后才被添加到 docker
组。
测试 RAPIDS#
要访问 Jupyter,请在浏览器中导航到 <VM ip>:8888
。
在 Python notebook 中,检查是否可以导入和使用像 cudf
这样的 RAPIDS 库。
In [1]: import cudf
In [2]: df = cudf.datasets.timeseries()
In [3]: df.head()
Out[3]:
id name x y
timestamp
2000-01-01 00:00:00 1020 Kevin 0.091536 0.664482
2000-01-01 00:00:01 974 Frank 0.683788 -0.467281
2000-01-01 00:00:02 1000 Charlie 0.419740 -0.796866
2000-01-01 00:00:03 1019 Edith 0.488411 0.731661
2000-01-01 00:00:04 998 Quinn 0.651381 -0.525398
打开 cudf/10min.ipynb
并执行单元格以进一步了解 cudf
的工作原理。
运行 Dask 集群时,您还可以访问 <VM ip>:8787
来监控 Dask 集群状态。
清理#
完成后,返回部署页面并删除您创建的实例。