Košík je prázdný

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

  1. 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
    
  2. 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.