在Docker+NVIDIA容器工具包环境中,通过CUDA工具包对GPU进行压力测试的nbody

简要概括

我使用了现在流行的 Docker + NVIDIA Container Toolkit 来验证是否可以轻松地进行 GPU 负载测试。

硬件配置

    Geforce

软件配置

    • OS : Ubuntu22.04.1LTS

 

    Nvidia Driver:525.85.05インストール済

安装Docker

请根据公式文档进行安装。
https://docs.docker.com/engine/install/ubuntu/

#repository追加
sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

#鍵追加(と思われる)
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

#追加したリポジトリからインストール
sudo apt-get update -y
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

当安装完成后,最好立即检查Docker是否能够正常启动。

#hello world
sudo docker run hello-world

安装NVIDIA-container-toolkit

参考公式文档来安装,可以使用以下链接:
https://catalog.ngc.nvidia.com/orgs/nvidia/teams/k8s/containers/cuda-sample
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installing-with-apt

#鍵追加
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
            sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
#リポジトリ追加
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
#追加したリポジトリからインストール
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

在docker中运行nbody程序。

在中文中,可以这样表达:
使用sudo命令来执行。在-numbodies=XXXXXXXX的部分调整内存使用量。

sudo docker run --rm -it nvcr.io/nvidia/k8s/cuda-sample:nbody nbody  -benchmark -numbodies=65536000

请参考

以下是两个网址的原文,需要将其改写成中文:

https://www.idnet.co.jp/column/page_158.html
https://qiita.com/tkusumi/items/f275f0737fb5b261a868

Option 1:
这是两个网页的链接:

https://www.idnet.co.jp/column/page_158.html
https://qiita.com/tkusumi/items/f275f0737fb5b261a868

当装有多个GPU时,我们在选择GPU时可以采取以下方法(经过一番考虑)。

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/docker-specialized.html
https://cocoinit23.com/docker-run-multi-gpu/

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/docker-specialized.html
https://cocoinit23.com/docker-run-multi-gpu/

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/docker-specialized.html
https://cocoinit23.com/docker-run-multi-gpu/

验证过程的历史

我在进行对GPU服务器的负载测试时,使用了CUDA toolkit中的nbody(https://developer.nvidia.com/cuda-toolkit)。由于每次搭建环境都很麻烦,所以我只需在多台机器上重复使用一次创建好的环境。然而,毫无疑问地,会出现测试硬件的变动和兼容性问题。每次都需要管理和更新操作系统、驱动程序和CUDA版本。目前为止,这种方法让我可以轻松进行测试,感觉很不错。

bannerAds