paper-with-me

Papers

Optimal Kernel Orchestration for Tensor Programs with Korch

2024-06-13 · Muyan Hu, Ashwin Venkatram, Shreyashri Biswas, Balamurugan Marimuthu, Bohan Hou, Gabriele Oliaro, Haojie Wang, Liyan Zheng, Xupeng Miao, Jidong Zhai

Kernel orchestration is the task of mapping the computation defined in different operators of a deep neural network (DNN) to the execution of GPU kernels on modern hardware platforms. Prior approaches optimize kernel orchestration by greedily applying operator fusion, which fuses the computation of multiple operators into a single kernel, and miss a variety of optimization opportunities in kernel orchestration. This paper presents Korch, a tensor program optimizer that discovers optimal kernel orchestration strategies for tensor programs. Instead of directly fusing operators, Korch first applies operator fission to decompose tensor operators into a small set of basic tensor algebra primitives. This decomposition enables a diversity of fine-grained, inter-operator optimizations. Next, Korch optimizes kernel orchestration by formalizing it as a constrained optimization problem, leveraging an off-the-shelf binary linear programming solver to discover an optimal orchestration strategy, and generating an executable that can be directly deployed on modern GPU platforms. Evaluation on a variety of DNNs shows that Korch outperforms existing tensor program optimizers by up to 1.7x on V100 GPUs and up to 1.6x on A100 GPUs. Korch is publicly available at https://github.com/humuyan/Korch.

📄 PDF Abstract BibTeX arXiv:2406.09465

Code (1)

humuyan/korch 공식 구현

Tasks

DiversityGPUtensor algebra

Methods 이 논문이 사용한 방법론

SET Dynamic Sparse Training method where weight mask is updated randomly periodically

Similar Papers 제목 키워드 기반

Mirage: A Multi-Level Superoptimizer for Tensor Programs

2024-05-09 · Mengdi Wu, Xinhao Cheng, Shengyu Liu, Chunan Shi 외

We introduce Mirage, the first multi-level superoptimizer for tensor programs. A key idea in Mirage is $\mu$Graphs, a uniform representation of tensor programs at the kernel, thread block, and thread levels of the GPU co…

GPUNavigate

Tensor Programs IIb: Architectural Universality of Neural Tangent Kernel Training Dynamics

2021-05-08 · Greg Yang, Etai Littwin

Yang (2020a) recently showed that the Neural Tangent Kernel (NTK) at initialization has an infinite-width limit for a large class of architectures including modern staples such as ResNet and Transformers. However, their …

Tensor Programs IVb: Adaptive Optimization in the Infinite-Width Limit

2023-08-03 · Greg Yang, Etai Littwin

Going beyond stochastic gradient descent (SGD), what new phenomena emerge in wide neural networks trained by adaptive optimizers like Adam? Here we show: The same dichotomy between feature learning and kernel behaviors (…

Axon: A Synthesizing Superoptimizer for Tensor Programs

2026-06-24 · Akash Kothari, Shaowei Zhu, Daniel Kroening, Chungha Sung arxiv

Writing high performance kernels for AI accelerators requires deep expertise in tiling, instruction selection, data layout, and operator fusion placing a significant burden on programmers. In this paper, we focus on tile…

Program Synthesis

Ansor: Generating High-Performance Tensor Programs for Deep Learning

2020-06-11 · Lianmin Zheng, Chengfan Jia, Minmin Sun, Zhao Wu 외

High-performance tensor programs are crucial to guarantee efficient execution of deep neural networks. However, obtaining performant tensor programs for different operators on various hardware platforms is notoriously ch…

CPUDeep LearningGPUVocal Bursts Intensity Prediction