mlsanityData to 7 Oct 2026

Machine Learning for CUDA+MPI Design Rules

arXiv 2203.02530 ↗First posted 4 Mar 2022cs.PF cs.LGcited by 0

Not on the map. Why?

Abstract (arXiv)

We present a new strategy for automatically exploring the design space of key CUDA+MPI programs and providing design rules that discriminate slow from fast implementations. In such programs, the order of operations (e.g., GPU kernels, MPI communication) and assignment of operations to resources (e.g., GPU streams) makes the space of possible designs enormous. Systems experts have the task of redesigning and reoptimizing these programs to effectively utilize each new platform. This work provides a prototype tool to reduce that burden. In our approach, a directed acyclic graph of CUDA and MPI operations defines the design space for the program. Monte-Carlo tree search discovers regions of the design space that have large impact on the program's performance. A sequence-to-vector transformation defines features for each explored implementation, and each implementation is assigned a class label according to its relative performance. A decision tree is trained on the features and labels to produce design rules for each class; these rules can be used by systems experts to guide their implementations. We demonstrate our strategy using a key kernel from scientific computing -- sparse-matrix vector multiplication -- on a platform with multiple MPI ranks and GPU streams.

Key facts. No citing papers in the map yet (data through 7 Oct 2026). Builds on 5 of its 31 references that are in the map. First posted on arXiv 4 Mar 2022.

Builds on

5 of 31 references.

References · 5

  1. 2020Ansor: Generating High-Performance Tensor Programs for Deep Learningcited by 199
  2. 2019AlphaX: eXploring Neural Architectures with Deep Neural Networks and Monte Carlo Tree Searchcited by 33
  3. 2020ProTuner: Tuning Programs with Monte Carlo Tree Searchcited by 9
  4. 2020Autotuning Search Space for Loop Transformationscited by 6
  5. 2021Customized Monte Carlo Tree Search for LLVM/Polly's Composable Loop Optimization Transformationscited by 4

Built on by

Not cited yet.