在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版本。目前为止,这种方法让我可以轻松进行测试,感觉很不错。