paper-with-me

홈 › Papers

Stripe: Tensor Compilation via the Nested Polyhedral Model

2019-03-14 · Tim Zerrell, Jeremy Bruestle

Hardware architectures and machine learning (ML) libraries evolve rapidly. Traditional compilers often fail to generate high-performance code across the spectrum of new hardware offerings. To mitigate, engineers develop hand-tuned kernels for each ML library update and hardware upgrade. Unfortunately, this approach requires excessive engineering effort to scale or maintain with any degree of state-of-the-art performance. Here we present a Nested Polyhedral Model for representing highly parallelizable computations with limited dependencies between iterations. This model provides an underlying framework for an intermediate representation (IR) called Stripe, amenable to standard compiler techniques while naturally modeling key aspects of modern ML computing. Stripe represents parallelism, efficient memory layout, and multiple compute units at a level of abstraction amenable to automatic optimization. We describe how Stripe enables a compiler for ML in the style of LLVM that allows independent development of algorithms, optimizations, and hardware accelerators. We also discuss the design exploration advantages of Stripe over kernel libraries and schedule-based or schedule-space-based code generation.

📄 PDF Abstract BibTeX arXiv:1903.06498

Code (1)

plaidml/plaidml

Tasks

Code Generationmodel

Similar Papers 제목 키워드 기반

PolyScientist: Automatic Loop Transformations Combined with Microkernels for Optimization of Deep Learning Primitives

2020-02-06 · Sanket Tavarageri, Alexander Heinecke, Sasikanth Avancha, Gagandeep Goyal 외

At the heart of deep learning training and inferencing are computationally intensive primitives such as convolutions which form the building blocks of deep neural networks. Researchers have taken two distinct approaches …

Deep Learning

TimeRL: Efficient Deep Reinforcement Learning with Polyhedral Dependence Graphs

2025-01-09 · Pedro F. Silvestre, Peter Pietzuch

Modern deep learning (DL) workloads increasingly use complex deep reinforcement learning (DRL) algorithms that generate training data within the learning loop. This results in programs with several nested loops and dynam…

CPUDeep Reinforcement LearningGPUreinforcement-learning+2

PolyTOPS: Reconfigurable and Flexible Polyhedral Scheduler

2024-01-12 · Gianpietro Consolaro, Zhen Zhang, Harenome Razanajato, Nelson Lossing 외

Polyhedral techniques have been widely used for automatic code optimization in low-level compilers and higher-level processes. Loop optimization is central to this technique, and several polyhedral schedulers like Feautr…

Scheduling

AKG: Automatic Kernel Generation for Neural Processing Units using Polyhedral Transformations

2021-06-19 · Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation 2021 6 · Jie Zhao, Bojie Li, Wang Nie, Zhen Geng 외

Existing tensor compilers have proven their effectiveness in deploying deep neural networks on general-purpose hardware like CPU and GPU, but optimizing for neural processing units (NPUs) is still challenging due to the …

Code GenerationCPUGPUManagement+1

Compressing Structured Tensor Algebra

2024-07-18 · Mahdi Ghorbani, Emilien Bauer, Tobias Grosser, Amir Shaikhha

Tensor algebra is a crucial component for data-intensive workloads such as machine learning and scientific computing. As the complexity of data grows, scientists often encounter a dilemma between the highly specialized d…

Code Generationtensor algebra