paper-with-me

홈 › Papers

Machine Learning for CUDA+MPI Design Rules

2022-03-04 · Carl Pearson, Aurya Javeed, Karen Devine

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.

📄 PDF Abstract BibTeX arXiv:2203.02530

Code (0)

등록된 구현이 없습니다.

Tasks

BIG-bench Machine LearningGPU

Methods 이 논문이 사용한 방법론

Monte-Carlo Tree Search Monte-Carlo Tree Search is a planning algorithm that accumulates value estimates obtained from Monte Carlo simulations in order to successively direct simulations towards more…

Similar Papers 제목 키워드 기반

Learning Exact NVIDIA SASS Encoders with $\mathbb{F}_2$ Linear Algebra

2026-08-20 · Jiading Gai arxiv

NVIDIA provides a SASS disassembler but no public SASS assembler for recent data-center GPUs, limiting controlled machine-code rewriting. We present F2Asm, which learns exact 128-bit SASS encoders from paired disassembly…

PyGraph: Robust Compiler Support for CUDA Graphs in PyTorch

2025-03-25 · Abhishek Ghosh, Ajay Nayak, Ashish Panwar, Arkaprava Basu

CUDA Graphs -- a recent hardware feature introduced for NVIDIA GPUs -- aim to reduce CPU launch overhead by capturing and launching a series of GPU tasks (kernels) as a DAG. However, deploying CUDA Graphs faces several c…

CPUGPU

CUDABeaver: Benchmarking LLM-Based Automated CUDA Debugging

2026-05-08 · Shiyang Li, Haoyang Chen, Mattia Fazzini, Caiwen Ding arxiv

Debugging CUDA programs has long been challenging because failures often arise from subtle interactions among hardware behavior, compiler decisions, memory hierarchy, and asynchronous execution. More importantly, with th…

GSGP-CUDA -- a CUDA framework for Geometric Semantic Genetic Programming

2021-06-08 · Leonardo Trujillo, Jose Manuel Muñoz Contreras, Daniel E Hernandez, Mauro Castelli 외

Geometric Semantic Genetic Programming (GSGP) is a state-of-the-art machine learning method based on evolutionary computation. GSGP performs search operations directly at the level of program semantics, which can be done…

BIG-bench Machine Learning

CUDABench: Benchmarking LLMs for Text-to-CUDA Generation

2026-02-13 · Jiace Zhu, Wentao Chen, Qi Fan, Zhixing Ren 외 arxiv

Recent studies have demonstrated the potential of Large Language Models (LLMs) in generating GPU Kernels. Current benchmarks focus on the translation of high-level languages into CUDA, overlooking the more general and ch…