DrJAX: Scalable and Differentiable MapReduce Primitives in JAX

Keith Rush, Zachary Charles, Zachary Garrett, Sean Augenstein, Nicole Mitchell
3/11/2024
cs.DCcs.LG

Official code: google-research/google-research (39,000 stars, Apache-2.0, last commit 2026-04-30).

Abstract

We present DrJAX, a JAX-based library designed to support large-scale distributed and parallel machine learning algorithms that use MapReduce-style operations. DrJAX leverages JAX's sharding mechanisms to enable native targeting of TPUs and state-of-the-art JAX runtimes, including Pathways. DrJAX embeds building blocks for MapReduce computations as primitives in JAX. This enables three key benefits. First, DrJAX computations can be translated directly to XLA HLO, enabling flexible integration with a wide array of ML training platforms. Second, DrJAX computations are fully differentiable. Last, DrJAX computations can be interpreted out to existing batch-processing compute systems, including traditional MapReduce systems like Apache Beam and cross-device compute systems like those powering federated learning applications. We show that DrJAX provides an easily programmable, performant, and scalable framework for parallelized algorithm development. DrJAX is available at \url{https://github.com/google-research/google-research/tree/master/drjax}.

View on arXivView PDF

Code Implementations(1)

Apache-2.0

Google Research

39,0008,488C, ROct 4, 20185 months agoApache-2.0
aimachine-learningresearch

Similar Papers

Cite this paper

@article{rush2024drjax,
  title  = {DrJAX: Scalable and Differentiable MapReduce Primitives in JAX},
  author = {Keith Rush and Zachary Charles and Zachary Garrett and Sean Augenstein and Nicole Mitchell},
  year   = {2024},
  eprint = {2403.07128},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2403.07128v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2403.07128.svg)](https://codeofpaper.com/paper/2403.07128)

Discussion