VPC 虚拟服务器#

创建实例#

创建一个新的带 GPU 的 虚拟服务器 (针对 VPC),并安装 NVIDIA 驱动程序NVIDIA 容器运行时

  1. 打开 虚拟服务器仪表盘

  2. 选择 创建

  3. 为服务器指定一个名称并选择您的资源组

  4. 操作系统 下选择 Ubuntu Linux

  5. 配置文件 下选择 查看所有配置文件 并选择带有 NVIDIA GPU 的配置文件。

  6. SSH 密钥 下选择您的 SSH 密钥。

  7. 在网络设置下,创建一个允许 SSH 访问端口 22 的安全组(或选择现有的安全组),同时允许端口 8888,8786,8787 访问 Jupyter 和 Dask。

  8. 选择 创建虚拟服务器

创建浮动 IP#

为了访问虚拟服务器,我们需要附加一个公共 IP 地址。

  1. 打开 浮动 IP

  2. 选择 保留

  3. 为浮动 IP 指定一个名称

  4. 要绑定的资源 下选择您刚刚创建的虚拟服务器。

连接到实例#

接下来我们需要连接到实例。

  1. 打开 浮动 IP

  2. 找到您刚刚创建的 IP 并记下地址。

  3. 在您的终端中运行 ssh root@<ip address>

注意

有关启动和访问实例的简要指南,请阅读 IBM 虚拟服务器入门文档

安装 NVIDIA 驱动程序#

接下来我们需要安装 NVIDIA 驱动程序和容器运行时。

  1. 确保已安装 build essentials apt-get update && apt-get install build-essential -y

  2. 安装 NVIDIA 驱动程序

  3. 安装 Docker 和 NVIDIA Docker 运行时

如何检查所有内容是否安装成功?

您可以在容器中运行 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 集群状态。

相关示例#

使用 dask-ml 和 cuml 进行 HPO

dataset/airline library/numpy library/pandas library/xgboost library/dask library/dask-cuda library/dask-ml library/cuml cloud/aws/ec2 cloud/azure/azure-vm cloud/gcp/compute-engine cloud/ibm/virtual-server library/sklearn data-storage/s3 workflow/hpo

使用 dask-ml 和 cuml 进行 HPO