Horovod

Horovod

Pokiaľ potrebujete použiť machine learning model cez viacero nódov a využiť tak viacero GPU, jednou z možností je horovod.

Horovod je open source softvér pre distribuovaný deep learning tréning pomocou Tensorflow, Keras, PyTorch a Apache MXNET. Jeho cieľom je zlepšenie rýchlosti, škálovateľnosti a alokácie zdrojov pre potreby trénovania machine learning modelov.

Použitie

Ak chcete použiť horovod na výpočtovom klastri v Košiciach, je potrebné si najprv upraviť váš python zdrojový kód podľa inštrukcií na https://github.com/horovod/horovod#usage. Na košickom klastri je Horovod nainštalovaný s podporou OpenMPI, spúšťa sa podobne ako ostatné MPI aplikácie. Horovod sa automaticky snaží spustiť jeden viacvláknový proces na výpočtový nód.

Príklad pre tensorflow nájdete v /lustre/home/freeware/EXAMPLE_JOBS/horovod. Spúšťací skript pre slurm je run.sh. Vyžiada dva nódy, celkovo dva procesy a jeden proces na nód, požiada iba o nódy s grafickou kartou k20m:

#—-run.sh—-

#!/bin/bash

#SBATCH –partition=short

#SBATCH –job-name=test

#SBATCH –output=out.txt

#SBATCH –error=err.txt

#SBATCH –nodes=2

#SBATCH –ntasks=2

#SBATCH –ntasks-per-node=1

#SBATCH –time=30:00

#SBATCH –constraint=k20mmpirun python3 test_keras.py

Horovod je možné okrem OpenMPI použiť aj s mpi4py alebo singularity kontajnermi. Kompletnú dokumentáciu nájdete na https://github.com/horovod/horovod.