DistIR: An Intermediate Representation for Optimizing Distributed Neural Networks - Santhanam, Keshav; Krishna, Siddharth; Tomioka, Ryota; Fitzgibbon, Andrew; Harris, Tim (EuroMLSys '21: Proceedings of the 1st Workshop on Machine Learning and Systems, 2021)
The rapidly growing size of deep neural network (DNN) models and datasets has given rise to a variety of distribution strategies such as data, horizontal, and pipeline parallelism. However, selecting the best set of strategies for a given model and hardware configuration is challenging because debugging and testing on clusters is expensive. In this work we propose DistIR, an IR for explicitly representing distributed DNN computation that can capture many popular distribution strategies. We build an analysis framework for DistIR programs, including a simulator and reference executor that can be used to automatically search for an optimal distribution strategy. Our unified global representation also eases development of new distribution strategies, as one can reuse the lowering to per-rank backend programs. Preliminary results using a grid search over a hybrid data/horizontal/pipeline-parallel space suggest DistIR and its simulator can aid automatic DNN distribution.