Graph
Horovod

🖧Horovod

NEW

An open-source framework enabling distributed deep learning across GPUs and nodes using efficient ring-allreduce.

DESCRIPTION

Horovod is a distributed training framework originally developed at Uber that supports TensorFlow, PyTorch, and MXNet. It uses ring-allreduce to aggregate gradients efficiently across workers. Horovod simplifies scaling by abstracting communication primitives with MPI or NCCL backends. It integrates with Kubernetes, Spark, and common experiment tooling. Typical usage achieves near-linear scaling for many models. Horovod reduces boilerplate and improves portability of distributed training code. It remains a practical choice for multi-GPU and multi-node training workloads.

ALTERNATIVE DEFINITIONS

Uber Engineering

Horovod is a distributed training framework for TensorFlow, Keras, and PyTorch, built to make distributed deep learning fast and easy to use.

Emphasizes speed and ease of distributed training.

Source

Horovod

Horovod is a distributed deep learning training framework for TensorFlow, Keras, PyTorch, and Apache MXNet.

Lists supported frameworks and scope.

Source

TensorFlow

Horovod is a distributed training framework that uses the ring-allreduce algorithm to average gradients over multiple processes.

Explains the ring-allreduce mechanism for gradient averaging.

Source

Distributed Training Ring-Allreduce TensorFlow PyTorch MXNet NCCL MPI Gradient Aggregation Parameter Server

COMPETING TERMS

DeepSpeed PyTorch DistributedDataParallel TensorFlow MirroredStrategy

KNOWLEDGE AREAS

MLOps AI Infrastructure Platform & Tooling

TARGET AUDIENCE

MLOps Engineer AI Engineer Data Scientist DevOps Engineer Cloud Architect

EXTERNAL SOURCES

TOP QUESTIONS

What is Horovod and why use it?

Horovod is a framework for distributed deep learning that simplifies scaling training across GPUs and nodes with efficient gradient aggregation.

Category: Overview

Which deep learning frameworks does Horovod support?

It supports TensorFlow, Keras, PyTorch, and MXNet via common communication backends like MPI and NCCL.

Category: Requirements

How does Horovod achieve scalability?

It uses ring-allreduce to average gradients across workers, minimizing bandwidth hotspots and enabling near-linear scaling.

Category: Performance

How does Horovod compare to PyTorch DistributedDataParallel?

Horovod abstracts cross-framework distribution with similar allreduce semantics, while DDP is PyTorch-native and tightly integrated.

Category: Difference

What are common mistakes when using Horovod?

Incorrectly setting batch sizes, not tuning fusion buffers, and misconfigured NCCL or MPI can hinder performance.

Category: Mistakes

What are the risks of distributed training with Horovod?

Network saturation, non-determinism, and failure recovery complexity can pose risks; monitoring and checkpointing are essential.

Category: Risk

How do you deploy Horovod on Kubernetes?

Use MPI operators or Kubernetes job templates, configure GPU resources, and ensure proper NCCL and network settings.

Category: Implementation

Can Horovod be combined with Spark?

Yes, HorovodRunner and integrations allow Spark clusters to launch distributed training jobs efficiently.

Category: UseCases

How to monitor Horovod performance?

Track throughput, step time, allreduce timing, network utilization, and GPU metrics; adjust fusion thresholds accordingly.

Category: Management