VPC 虚拟服务器#
创建实例#
创建一个新的带 GPU 的 虚拟服务器 (针对 VPC),并安装 NVIDIA 驱动程序和 NVIDIA 容器运行时。
打开 虚拟服务器仪表盘。
选择 创建。
为服务器指定一个名称并选择您的资源组。
在 操作系统 下选择 Ubuntu Linux。
在 配置文件 下选择 查看所有配置文件 并选择带有 NVIDIA GPU 的配置文件。
在 SSH 密钥 下选择您的 SSH 密钥。
在网络设置下,创建一个允许 SSH 访问端口
22
的安全组(或选择现有的安全组),同时允许端口8888,8786,8787
访问 Jupyter 和 Dask。选择 创建虚拟服务器。
创建浮动 IP#
为了访问虚拟服务器,我们需要附加一个公共 IP 地址。
打开 浮动 IP
选择 保留。
为浮动 IP 指定一个名称。
在 要绑定的资源 下选择您刚刚创建的虚拟服务器。
连接到实例#
接下来我们需要连接到实例。
打开 浮动 IP
找到您刚刚创建的 IP 并记下地址。
在您的终端中运行
ssh root@<ip address>
注意
有关启动和访问实例的简要指南,请阅读 IBM 虚拟服务器入门文档。
安装 NVIDIA 驱动程序#
接下来我们需要安装 NVIDIA 驱动程序和容器运行时。
确保已安装 build essentials
apt-get update && apt-get install build-essential -y
。安装 NVIDIA 驱动程序。
如何检查所有内容是否安装成功?
您可以在容器中运行 nvidia-smi
来检查所有内容是否已正确安装。
$ docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.108.03 Driver Version: 510.108.03 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla V100-PCIE... Off | 00000000:04:01.0 Off | 0 |
| N/A 33C P0 36W / 250W | 0MiB / 16384MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
安装 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,请在浏览器中导航到 <虚拟机 ip>:8888
。
在 Python Notebook 中,检查您是否可以导入和使用 RAPIDS 库,例如 cudf
。
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 集群时,您还可以访问 <虚拟机 ip>:8787
来监控 Dask 集群状态。