Výpočetní úlohy vyžadující grafické procesory (GPU) jsou stále běžnější, zejména v oblastech jako strojové učení, hluboké učení a zpracování obrazu. Kontejnerizace aplikací, které tyto úlohy provádějí, nabízí mnoho výhod, včetně izolace závislostí, portability a škálovatelnosti. V tomto článku probereme, jak na operačním systému CentOS 7 vytvořit a spravovat kontejnerizované aplikace s podporou GPU.
Předpoklady
- Nainstalovaný a běžící CentOS 7.
- Grafická karta (GPU) kompatibilní s NVIDIA, s nainstalovanými ovladači NVIDIA.
- Nainstalovaný Docker, verze 19.03 nebo novější, který podporuje technologii NVIDIA Container Toolkit.
Instalace Dockeru a NVIDIA Container Toolkit
-
Instalace Dockeru: Nejprve nainstalujte Docker pomocí příkazů:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker && sudo systemctl enable docker
-
Instalace NVIDIA Docker podpory: NVIDIA Container Toolkit umožňuje Dockeru využívat GPU. Pro jeho instalaci proveďte:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
sudo yum install -y nvidia-container-toolkit
sudo systemctl restart docker
Vytvoření Dockerfile s podporou GPU
Vytvořte Dockerfile, který umožní vaší aplikaci využívat GPU. Základem může být obrázek, který již obsahuje potřebné knihovny pro práci s GPU, například nvidia/cuda
. Příklad Dockerfile:
FROM nvidia/cuda:11.0-base
CMD nvidia-smi
Tento jednoduchý Dockerfile používá jako základ obraz CUDA a jako test spustí příkaz nvidia-smi
, který zobrazí informace o dostupných GPU.
Sestavení a spuštění kontejneru
Po vytvoření Dockerfile sestavte obraz pomocí příkazu:
docker build -t gpu-app .
A spusťte kontejner s přístupem k GPU:
docker run --gpus all gpu-app
Tento příkaz spustí kontejner a umožní mu přístup ke všem dostupným GPU.
Správa aplikací
Pro správu aplikací s podporou GPU je důležité monitorovat využití zdrojů GPU a optimalizovat výkon vaší aplikace. Použijte nástroje jako NVIDIA-smi a DCGM (Data Center GPU Manager) pro monitorování a diagnostiku.
Zabezpečení a aktualizace
Ujistěte se, že váš systém a všechny kontejnery jsou pravidelně aktualizovány, aby byla zajištěna jejich bezpečnost. Sledujte bezpečnostní zprávy a doporučení od Dockeru a NVIDIA.
Kontejnerizace aplikací s podporou GPU na CentOS 7 umožňuje efektivní využití hardwarových zdrojů, izolaci závislostí a snadnou portabilitu. Postupem uvedeným v tomto článku můžete vytvořit a spravovat tyto aplikace, aby co nejefektivněji využívaly dostupné GPU zdroje.