1. 入门快速入门指南#
1.1. 介绍和角色#
恭喜您获得新的 DGX Cloud 集群!
本指南旨在为集群所有者、集群管理员和集群用户提供必要的信息,以便开始履行他们在 DGX Cloud 集群上的主要职责。
本指南的预期工作流程从集群所有者开始,集群所有者是管理 DGX Cloud 订阅和集群的主要联系人。
有关用户角色和功能的更多详细信息,请参阅相应的指南
NVIDIA DGX Cloud Slurm 集群管理指南(适用于集群所有者和管理员)
NVIDIA DGX Cloud Slurm 集群用户指南(适用于集群用户)
1.2. 集群所有者#
集群所有者负责
通过
cmsh
引导集群管理员和用户入门注册并邀请管理员和用户加入 NGC
激活他们的订阅并注册 NVIDIA 企业支持
与 NVIDIA 和集群管理员协作,排查并报告与其 DGX Cloud 集群相关的任何问题
1.3. 集群管理员#
对于集群管理员,常见任务包括
通过 Base View 引导集群用户入门,并创建/管理团队/帐户
管理集群的高性能文件系统
配置 Slurm 队列和用户配额
更深入地检查和操作 Slurm 作业队列状态
调试集群行为问题
1.4. 集群用户#
对于集群用户,常见任务包括
在 Slurm 中调度计算作业
临时的 Slurm 作业队列交互
下载源代码或数据集
操作配置文件
1.5. 集群所有者步骤#
1.5.1. 先决条件#
作为集群所有者,请确保已完成以下步骤
您的技术客户经理 (TAM) 应该已经作为组织管理员与您联系。在此过程中
TAM 应该已经与您创建了共享沟通渠道。在您使用 DGX Cloud 的过程中,如有任何问题,请使用此渠道。
您应该已经创建了 SSH 密钥对,并将公钥发送给您的 TAM,以便初始访问集群。
为了访问集群,TAM 将提供以下信息
Head 节点:
<IP 地址 of head node>
登录节点:
<IP 地址 of login nodes>
您将使用 Head 节点来管理 BCM 安装、集群配置以及管理员/用户入门。您将用于集群配置的工具是 cmsh
(集群管理 shell)。
注意
cmsh
工具仅在集群 Head 节点上作为集群所有者 (root) 或启用 sudo 的管理员可用,并且无法从登录节点访问。
您将拥有通过 root 用户对 Head 节点的 SSH 访问权限,并且可以从 Head 节点 SSH 进入登录节点。
集群管理员和用户将主要使用登录节点在 DGX Cloud 集群上进行日常工作。他们将仅拥有对登录节点的 SSH 和 Base View 访问权限。
作为集群所有者,您将负责为集群管理员和用户创建用户帐户。
重要提示
作为安全最佳实践,应尽可能减少 root 帐户的使用。有关为集群所有者创建非 root 用户以访问 Head 节点的说明,请参阅NVIDIA DGX Cloud 集群管理指南的启用备用集群所有者帐户部分。
集群所有者在 Head 节点上使用的 root 帐户不应用于在 Slurm 集群中运行作业。只有集群管理员和用户才能通过登录节点在 Slurm 集群上运行作业。
如果需要,集群所有者应创建自己的单独管理员和/或用户帐户,以访问登录节点进行不需要 root 访问权限的工作。
1.5.2. 存储信息#
集群中有三种类型的存储可用
专用于各个节点的本地连接存储
共享 NFS 存储,在集群中的所有节点(包括 Head 节点)上可用
共享高性能 Lustre 存储,仅在 Slurm 集群中的登录节点和工作节点上可用,在 Head 节点上不可用
有关作为本产品一部分提供的存储的更多详细信息,请参阅NVIDIA DGX Cloud 用户指南的在 DGX Cloud 集群中工作概述部分。
1.5.3. 以 Root 身份访问 Head 节点(仅限集群所有者)#
作为集群所有者,您可以使用您提供给技术客户经理 (TAM) 的 SSH 密钥对访问 Head 节点。为此,请使用以下命令
ssh -i /path/to/ssh_cert root@ip-addr-of-head-node
注意
root 帐户只能使用外部 IP 地址直接登录到 Head 节点。要以 root 帐户访问登录节点,请在登录到 Head 节点后 SSH 进入它们。
如果您在尝试 SSH 时遇到任何问题,请参阅故障排除以获得帮助。
1.5.4. 通过 cmsh 添加集群管理员#
作为集群所有者,您可以按照以下步骤添加管理员来帮助管理 Slurm 集群。
编译集群管理员列表:列出需要管理员权限才能访问集群的人员。
创建 SSH 密钥对:要求每位集群管理员使用以下命令为自己创建 SSH 密钥对
ssh-keygen -t ed25519 -b 4096 -f ~/.ssh/<cluster-admin>-ed25519-dgxc -C "cluster_admin_email@example.com"
获取公钥:每位管理员都有 SSH 密钥对后,让他们将他们的公钥 (
<cluster-admin>-ed25519-dgxc.pub
) 文件的内容发送给您,该文件在其~/.ssh/
目录中生成。您将在以下步骤中使用此信息来创建集群管理员用户。创建集群管理员用户:从 Head 节点以
root
身份运行以下命令以创建集群管理员。使用此命令进入 cmsh
cmsh
在 cmsh 中运行以下命令
1 user 2 add <cluster-admin> 3 set password 4 set profile tenantadmin 5 commit 6 7 group 8 use tenantadmin 9 append members <cluster-admin> 10 commit 11 quit
切换到用户的帐户
sudo su - <cluster-admin>
将他们的 SSH 公钥(在上面的步骤 3 中获得)添加到
authorized_keys
文件中,使用您选择的文本编辑器。例如,nano $HOME/.ssh/authorized_keys
配置他们的管理员用户帐户以在登录时自动加载 slurm 模块。这将避免用户每次登录时都必须运行
module load slurm
命令。运行以下命令执行此操作module initadd slurm
退出管理员用户的帐户
exit
运行以下命令将管理员用户添加为 Slurm 管理员
1 module load slurm 2 sacctmgr add User User=<cluster-admin> Account=root AdminLevel=Administrator
在出现提示时提交更改。
(可选)为管理员用户在 LustreFS 上创建共享暂存空间:如果集群管理员将运行 slurm 作业,您可以配置他们的用户在 Lustre 共享文件系统上拥有暂存空间,或者他们可以在需要时从登录节点自行配置(使用
sudo
)。按照以下步骤执行此操作。注意
这些步骤假设集群所有者 (root) 正在执行这些步骤。也可以作为集群管理员运行这些步骤,但诸如
mkdir
、chown
和lfs
之类的命令将需要使用sudo
。SSH 进入登录节点以便访问 Lustre 文件系统。以下命令假定 root 用户正在从 Head 节点 SSH 进入登录节点。
ssh slogin001
运行以下命令以在 Lustre 文件系统上创建管理员用户的暂存空间
mkdir -p /lustre/fs0/scratch/<cluster-admin> chown <cluster-admin>:<cluster-admin> /lustre/fs0/scratch/<cluster-admin>
(可选)如果需要,您可以使用以下命令为管理员用户分配配额。更多详细信息请参见NVIDIA DGX Cloud 集群管理指南的管理 Lustre 存储部分。
1 # see current quota 2 lfs quota -u <cluster-admin> -v /lustre/fs0/scratch/<cluster-admin> 3 4 #example output of lfs quota for a user named demo-user 5 Disk quotas for usr demo-user (uid 1004): 6 Filesystem kbytes quota limit grace files quota limit grace 7 /lustre/fs0/scratch/demo-user/ 8 4 0 0 - 1 0 0 - 9 lustrefs-MDT0000_UUID 10 4 - 0 - 1 - 0 - 11 lustrefs-OST0000_UUID 12 0 - 0 - - - - - 13 lustrefs-OST0001_UUID 14 0 - 0 - - - - - 15 lustrefs-OST0002_UUID 16 0 - 0 - - - - - 17 lustrefs-OST0003_UUID 18 0 - 0 - - - - - 19 lustrefs-OST0004_UUID 20 0 - 0 - - - - - 21 Total allocated inode limit: 0, total allocated block limit: 0 22 uid 1004 is using default block quota setting 23 uid 1004 is using default file quota setting 24 25 # set quota, e.g., 100G, and inodes 26 lfs setquota -u <cluster-admin> -b 100G -B 100G -i 10000 -I11000 /lustre/fs0/scratch/<cluster-admin> 27 28 #example output after running setquota for a user named demo-user 29 Disk quotas for usr demo-user (uid 1004): 30 Filesystem kbytes quota limit grace files quota limit grace 31 /lustre/fs0/scratch/demo-user/ 32 4 104857600 104857600 - 1 10000 11000 - 33 lustrefs-MDT0000_UUID 34 4* - 4 - 1* - 1 - 35 lustrefs-OST0000_UUID 36 0 - 0 - - - - - 37 lustrefs-OST0001_UUID 38 0 - 0 - - - - - 39 lustrefs-OST0002_UUID 40 0 - 0 - - - - - 41 lustrefs-OST0003_UUID 42 0 - 0 - - - - - 43 lustrefs-OST0004_UUID 44 0 - 0 - - - - -
将信息发送给管理员:管理员现在已设置好可以访问集群并开始工作。将以下信息发送给管理员
登录节点地址
他们的用户名和密码信息
您为其用户配置的 SSH 公钥
(可选)他们的 LustreFS 暂存目录信息
现在,每位集群管理员都应该能够使用以下命令从先决条件部分登录到登录节点
ssh -i /path/to/cluster_admin_ssh_cert <cluster-admin>@ip-addr-of-login-node
注意
默认情况下,新集群管理员将无法 SSH 进入 Head 节点或使用 cmsh - 要为给定的集群管理员启用该功能,请按照NVIDIA DGX Cloud 集群管理指南的启用备用集群所有者帐户部分进行操作。
为您要创建的每位集群管理员用户重复步骤 1 到6。
1.5.5. 通过 cmsh 添加集群用户#
作为集群所有者,您需要收集一些信息才能引导用户入门集群。
编译集群用户列表:首先编译需要访问集群的用户列表。
创建 SSH 密钥对:每位用户都需要使用以下命令为自己创建 SSH 密钥对
ssh-keygen -t ed25519 -b 4096 -f ~/.ssh/<cluster-user>-ed25519-dgxc -C "your_email@example.com"
获取公钥:每位用户创建 SSH 密钥对后,让他们将他们的公钥 (
<cluster-user>-ed25519-dgxc.pub
) 文件的内容发送给您,该文件位于他们的~/.ssh/
目录中。您将在以下步骤中使用它来创建集群用户。创建集群用户:从 Head 节点以
root
身份运行以下命令以创建集群用户。使用此命令进入 cmsh
cmsh
在
cmsh
中,运行以下命令以创建集群用户1 user 2 add <cluster-user> 3 set password 4 set profile portal 5 commit 6 quit
使用以下命令切换到用户的帐户
sudo su - <cluster-user>
将用户的 SSH 公钥(之前获得)添加到他们
~/.ssh/
目录中的authorized_keys
文件中,使用您选择的文本编辑器。例如,nano $HOME/.ssh/authorized_keys
配置他们的用户帐户以在登录时自动加载 slurm 模块。这将避免用户每次登录时都必须运行
module load slurm
命令。运行以下命令执行此操作module initadd slurm
通过运行以下命令退出用户的帐户
exit
为用户在 LustreFS 上创建共享暂存空间:接下来,为用户创建 LustreFS 目录。按照以下步骤为用户创建和配置共享存储。
注意
这些步骤假设集群所有者 (root) 正在执行这些步骤。也可以作为集群管理员运行这些步骤,但诸如
mkdir
、chown
和lfs
之类的命令将需要使用sudo
。SSH 进入登录节点以便访问 Lustre 文件系统。以下命令假定 root 用户正在从 Head 节点 SSH 进入登录节点。
ssh slogin001
运行以下命令以在 Lustre 文件系统上创建用户暂存空间
mkdir -p /lustre/fs0/scratch/<cluster-user> chown <cluster-user>:<cluster-user> /lustre/fs0/scratch/<cluster-user>
(可选)如果需要,您可以使用以下命令为用户分配配额。更多详细信息请参见NVIDIA DGX Cloud 集群管理指南的管理 Lustre 存储部分。
1 # see current quota 2 lfs quota -u <cluster-user> -v /lustre/fs0/scratch/<cluster-user> 3 4 #example output of lfs quota for a user named demo-user 5 Disk quotas for usr demo-user (uid 1004): 6 Filesystem kbytes quota limit grace files quota limit grace 7 /lustre/fs0/scratch/demo-user/ 8 4 0 0 - 1 0 0 - 9 lustrefs-MDT0000_UUID 10 4 - 0 - 1 - 0 - 11 lustrefs-OST0000_UUID 12 0 - 0 - - - - - 13 lustrefs-OST0001_UUID 14 0 - 0 - - - - - 15 lustrefs-OST0002_UUID 16 0 - 0 - - - - - 17 lustrefs-OST0003_UUID 18 0 - 0 - - - - - 19 lustrefs-OST0004_UUID 20 0 - 0 - - - - - 21 Total allocated inode limit: 0, total allocated block limit: 0 22 uid 1004 is using default block quota setting 23 uid 1004 is using default file quota setting 24 25 # set quota, e.g., 100G, and inodes 26 lfs setquota -u <cluster-user> -b 100G -B 100G -i 10000 -I11000 /lustre/fs0/scratch/<cluster-user> 27 28 #example output after running setquota for a user named demo-user 29 Disk quotas for usr demo-user (uid 1004): 30 Filesystem kbytes quota limit grace files quota limit grace 31 /lustre/fs0/scratch/demo-user/ 32 4 104857600 104857600 - 1 10000 11000 - 33 lustrefs-MDT0000_UUID 34 4* - 4 - 1* - 1 - 35 lustrefs-OST0000_UUID 36 0 - 0 - - - - - 37 lustrefs-OST0001_UUID 38 0 - 0 - - - - - 39 lustrefs-OST0002_UUID 40 0 - 0 - - - - - 41 lustrefs-OST0003_UUID 42 0 - 0 - - - - - 43 lustrefs-OST0004_UUID 44 0 - 0 - - - - -
注意
如果未设置配额,则用户对整个 Lustre 文件系统具有无限的存储访问权限,如果不小心,可能会耗尽整个文件系统。
将信息发送给用户:用户现在已设置好可以访问集群并开始工作。将以下信息发送给用户
登录节点地址
他们的用户名和密码信息
您为其用户配置的 SSH 公钥
他们的 LustreFS 暂存目录信息
现在,每位用户都应该能够使用以下命令从先决条件部分登录到登录节点
ssh -i /path/to/cluster_user_ssh_cert <cluster-user>@ip-addr-of-login-node
为您要创建的每位集群用户重复步骤 1 到6。
(可选)创建集群团队或 Slurm 帐户列表:有关更多信息,请参阅设置公平共享调度和团队。
1.5.6. 设置 NGC#
作为 DGX Cloud 订阅的一部分,您的组织已获得对 NVIDIA NGC 的访问权限,并启用了私有注册表和 NVIDIA AI Enterprise 订阅。作为集群所有者,您将负责管理您的 NGC 组织,并邀请您的管理员和用户加入 NGC。
有关设置 NGC 组织的更多信息,请参阅NGC 用户指南。
要邀请用户加入 NGC 组织,请按照NGC 用户指南此处中的步骤进行操作。
1.6. 集群管理员步骤(可选)#
集群管理员可以管理 Slurm 作业调度程序的配置、运行作业以及执行需要从登录、CPU 和 GPU 节点进行 sudo
访问的任务。此外,集群管理员还可以通过 Base View 引导其他集群管理员和用户入门。
注意
以下部分假设您的集群所有者创建了集群管理员用户。如果您尚未设置管理员用户和用于登录集群的 SSH 密钥对,请联系您的集群所有者以进行入门。
1.6.1. 访问登录节点#
作为集群管理员,您可以 SSH 访问登录节点,但不能访问 Head 节点。集群管理员还可以通过登录节点访问 Base View。
要访问登录节点,请按照以下步骤操作
从集群所有者处获取登录节点 IP。
使用集群所有者创建的用户帐户通过 SSH 登录
ssh -i /path/to/ssh_cert <cluster-admin>@ip-addr-of-login-node
注意
如果您在尝试 SSH 时遇到任何错误,请参阅故障排除部分以获得帮助。
1.6.2. 访问 Base View#
Base View 是基于浏览器的 GUI,提供集群的仪表板视图。
有关详细信息,请参阅NVIDIA DGX Cloud 集群管理指南的访问 Base View部分。
注意
root 用户无法访问 Base View。
1.6.3. 通过 Base View 添加用户#
注意
如果集群所有者已经通过 cmsh
完成用户创建,则无需执行本节中的步骤。如果集群管理员通过 Base View 创建用户,请继续执行以下步骤。
有关在 Base View 中创建用户和引导用户入门的更多信息,请参阅NVIDIA DGX Cloud 集群管理指南的通过 Base View 添加用户部分。
1.7. 集群用户步骤#
集群用户可以在登录节点上执行以下操作
使用 Slurm 命令(如
sinfo
和squeue
)确定 Slurm 作业队列的状态与连接到集群的 NFS 和 Lustre 存储进行交互
根据用例在 CPU 和 GPU 节点之间定向作业
在 Slurm 作业队列上调度阻塞或交互式作业
在 Slurm 作业队列上调度批处理作业
注意
以下部分假设您的集群管理员已与您合作创建了集群用户。如果您还没有用于登录集群的用户和 SSH 密钥对,请联系您的集群管理员以进行入门。
1.7.1. 访问登录节点#
集群用户将仅具有对登录节点的 SSH 访问权限。 集群用户还可以通过登录节点访问用户门户。
要访问登录节点,请按照以下步骤操作
从您的集群管理员处获取登录节点 IP。
使用集群管理员创建的用户帐户通过 SSH 登录
ssh -i /path/to/ssh_cert <cluster-user>@ip-addr-of-login-node
注意
如果您在尝试 SSH 时遇到任何错误,请参阅故障排除部分以获得帮助。
1.7.2. 设置 NGC 集成#
有关设置您的用户帐户以便能够从 NGC 拉取容器的更多信息,请参阅DGX Cloud 集群用户指南中的设置 NGC 集成。
1.7.3. 运行作业#
以下部分指导您如何从登录节点设置和运行基本作业。
1.7.3.1. 加载 Slurm 模块#
要与 DGX Cloud 集群中安装的软件进行交互,必须加载适当的模块。模块为在 DGX Cloud 环境中加载和卸载特定的软件和配置数据集提供了一种快速方法。有关模块的更多信息,请参阅Base Command Manager 管理员手册的第 2.2 节。
module load slurm
如果您想配置您的用户帐户以自动加载 Slurm 模块,请运行以下命令,注销,然后重新登录到登录节点。
module initadd slurm
1.7.3.2. 运行单节点作业#
下面的示例使用来自 NGC 容器的 NCCL 测试工具运行常见的单节点 GPU 作业。有关更多信息,请参阅DGX Cloud 集群用户指南中的单节点作业。
使用您选择的文本编辑器在
$HOME/run-sn.sh
创建一个脚本,内容如下1#!/bin/bash 2 3srun -N1 --exclusive --gpus-per-node 8 --mpi=pmix --container-image nvcr.io#nvidia/pytorch:24.09-py3 -p defq all_reduce_perf_mpi -b 1G -e 4G -f 2 -g 8
1#!/bin/bash 2 3srun -N1 --exclusive --gpus-per-node 8 --mpi=pmix --container-image nvcr.io#nvidia/pytorch:24.09-py3 -p defq all_reduce_perf_mpi -b 1G -e 4G -f 2 -g 8
1#!/bin/bash 2 3srun -N1 --exclusive --gpus-per-node 8 --mpi=pmix --container-image nvcr.io#nvidia/pytorch:24.09-py3 -p defq all_reduce_perf_mpi -b 1G -e 16G -f 2 -g 8
通过运行以下命令使脚本可执行
chmod +x $HOME/run-sn.sh
现在您可以运行脚本
1cd $HOME 2./run-sn.sh
您应该看到类似于以下示例的输出
1 pyxis: imported docker image: nvcr.io#nvidia/pytorch:24.09-py3 2 # nThread 1 nGpus 8 minBytes 1073741824 maxBytes 4294967296 step: 2(factor) warmup iters: 5 iters: 20 agg iters: 1 validation: 1 graph: 0 3 # 4 # Using devices 5 # Rank 0 Group 0 Pid 848629 on gpu008 device 0 [0x00] NVIDIA A100-SXM4-80GB 6 # Rank 1 Group 0 Pid 848629 on gpu008 device 1 [0x00] NVIDIA A100-SXM4-80GB 7 # Rank 2 Group 0 Pid 848629 on gpu008 device 2 [0x00] NVIDIA A100-SXM4-80GB 8 # Rank 3 Group 0 Pid 848629 on gpu008 device 3 [0x00] NVIDIA A100-SXM4-80GB 9 # Rank 4 Group 0 Pid 848629 on gpu008 device 4 [0x00] NVIDIA A100-SXM4-80GB 10 # Rank 5 Group 0 Pid 848629 on gpu008 device 5 [0x00] NVIDIA A100-SXM4-80GB 11 # Rank 6 Group 0 Pid 848629 on gpu008 device 6 [0x00] NVIDIA A100-SXM4-80GB 12 # Rank 7 Group 0 Pid 848629 on gpu008 device 7 [0x00] NVIDIA A100-SXM4-80GB 13 # 14 # out-of-place in-place 15 # size count type redop root time algbw busbw #wrong time algbw busbw #wrong 16 # (B) (elements) (us) (GB/s) (GB/s) (us) (GB/s) (GB/s) 17 1073741824 268435456 float sum -1 8215.7 130.69 228.71 0 8214.6 130.71 228.75 0 18 2147483648 536870912 float sum -1 16274 131.95 230.92 0 16273 131.97 230.95 0 19 4294967296 1073741824 float sum -1 32231 133.25 233.20 0 33012 130.10 227.68 0 20 # Out of bounds values : 0 OK 21 # Avg bus bandwidth : 230.034 22 #
1.7.3.3. 运行多节点作业#
下面的示例使用来自 NGC 容器的 NCCL 测试工具运行上述 GPU 作业的多节点变体。有关多节点作业的更多信息,请参阅NVIDIA DGX Cloud 集群用户指南中的多节点作业。
使用您选择的文本编辑器在
$HOME/run-mn.sh
创建一个脚本,内容如下1 #!/bin/bash 2 3 srun -N2 --exclusive --gpus-per-node 8 --mpi=pmix --container-image nvcr.io/nvidia/pytorch:24.09-py3 -p defq all_reduce_perf_mpi -b 1G -e 4G -f 2 -g 8
1 #!/bin/bash 2 3 srun -N2 --exclusive --gpus-per-node 8 --mpi=pmix --container-image nvcr.io/nvidia/pytorch:24.09-py3 -p defq all_reduce_perf_mpi -b 1G -e 4G -f 2 -g 8
1 #!/bin/bash 2 3 srun -N2 --exclusive --gpus-per-node 8 --mpi=pmix --container-image nvcr.io/nvidia/pytorch:24.09-py3 -p defq all_reduce_perf_mpi -b 1G -e 16G -f 2 -g 8
通过运行以下命令使脚本可执行
chmod +x $HOME/run-mn.sh
现在您可以运行脚本
./run-mn.sh
您应该看到类似于以下示例的输出
1pyxis: imported docker image: nvcr.io#nvidia/pytorch:24.09-py3 2pyxis: imported docker image: nvcr.io#nvidia/pytorch:24.09-py3 3# nThread 1 nGpus 8 minBytes 1073741824 maxBytes 4294967296 step: 2(factor) warmup iters: 5 iters: 20 agg iters: 1 validation: 1 graph: 0 4# 5# Using devices 6# Rank 0 Group 0 Pid 824960 on gpu005 device 0 [0x00] NVIDIA A100-SXM4-80GB 7# Rank 1 Group 0 Pid 824960 on gpu005 device 1 [0x00] NVIDIA A100-SXM4-80GB 8# Rank 2 Group 0 Pid 824960 on gpu005 device 2 [0x00] NVIDIA A100-SXM4-80GB 9# Rank 3 Group 0 Pid 824960 on gpu005 device 3 [0x00] NVIDIA A100-SXM4-80GB 10# Rank 4 Group 0 Pid 824960 on gpu005 device 4 [0x00] NVIDIA A100-SXM4-80GB 11# Rank 5 Group 0 Pid 824960 on gpu005 device 5 [0x00] NVIDIA A100-SXM4-80GB 12# Rank 6 Group 0 Pid 824960 on gpu005 device 6 [0x00] NVIDIA A100-SXM4-80GB 13# Rank 7 Group 0 Pid 824960 on gpu005 device 7 [0x00] NVIDIA A100-SXM4-80GB 14# Rank 8 Group 0 Pid 822704 on gpu006 device 0 [0x00] NVIDIA A100-SXM4-80GB 15# Rank 9 Group 0 Pid 822704 on gpu006 device 1 [0x00] NVIDIA A100-SXM4-80GB 16# Rank 10 Group 0 Pid 822704 on gpu006 device 2 [0x00] NVIDIA A100-SXM4-80GB 17# Rank 11 Group 0 Pid 822704 on gpu006 device 3 [0x00] NVIDIA A100-SXM4-80GB 18# Rank 12 Group 0 Pid 822704 on gpu006 device 4 [0x00] NVIDIA A100-SXM4-80GB 19# Rank 13 Group 0 Pid 822704 on gpu006 device 5 [0x00] NVIDIA A100-SXM4-80GB 20# Rank 14 Group 0 Pid 822704 on gpu006 device 6 [0x00] NVIDIA A100-SXM4-80GB 21# Rank 15 Group 0 Pid 822704 on gpu006 device 7 [0x00] NVIDIA A100-SXM4-80GB 22# 23# out-of-place in-place 24# size count type redop root time algbw busbw #wrong time algbw busbw #wrong 25# (B) (elements) (us) (GB/s) (GB/s) (us) (GB/s) (GB/s) 261073741824 268435456 float sum -1 11214 95.75 179.53 0 11211 95.77 179.58 0 272147483648 536870912 float sum -1 21949 97.84 183.45 0 21629 99.29 186.17 0 284294967296 1073741824 float sum -1 44071 97.46 182.73 0 43494 98.75 185.15 0 29# Out of bounds values : 0 OK 30# Avg bus bandwidth : 182.768 31#
1.7.4. 访问用户门户#
用户门户是专为集群用户设计的基于浏览器的 GUI,以便他们可以拥有集群中自己的工作负载的仪表板。
有关更多信息,请参阅NVIDIA DGX Cloud 集群用户指南中的用户门户。
1.8. 故障排除#
1.8.1. SSH 密钥权限#
1.8.1.1. WSL 中未受保护的私钥文件#
当在 Windows 上使用 WSL 尝试 ssh 连接到 Head 节点时,您可能会看到此错误。
1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2 @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
3 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
4 Permissions 0777 for '<ssh-key-file>' are too open.
5 It is required that your private key files are NOT accessible by others.
6 This private key will be ignored.
7 Load key "<ssh-key-file>": bad permissions
8 <cluster-user>@slogin001: Permission denied (publickey,gssapi-with-mic).
要解决此问题,您需要更新您的 WSL conf,以允许您拥有和更改 SSH 私钥的文件权限
创建
/etc/wsl.conf
文件(作为sudo
),内容如下1[automount] 2options="metadata"
退出 WSL
通过命令提示符 (
wsl --terminate <distro-name>
) 终止实例或将其关闭 (wsl --shutdown
)重启 WSL
然后,从 WSL 运行以下命令以更改私钥的权限
user@local:$HOME/.ssh$ chmod 600 <ssh-key-file>
然后,检查权限
user@local:$HOME/.ssh$ ls -l <ssh-key-file>
它应该看起来像
-rw------- 1 user local 2610 Apr 2 19:19 <ssh-key-file>
1.8.2. Base View 权限#
通常,集群用户应使用用户门户而不是 Base View 作为 UI 来使用集群。如果权限不足的集群用户尝试登录 Base View,他们将看到类似于以下的错误。

Base View 主要供集群管理员使用。集群用户应访问用户门户。