REVIEW 2 major objections 5 minor 88 references
A Multi-level Compiler Backend for Accelerated Micro-kernels Targeting RISC-V ISA Extensions
T0 review · 2 major / 5 minor · reviewed 2026-08-08 · deepseek-v4-flash
Pith's one-line read A compiler backend organized as layered SSA intermediate representations can generate micro-kernels for a RISC-V accelerator that reach 90–95% FPU utilization without handwritten assembly.
desk verdict Solid systems paper: the multi-level SSA backend for RISC-V accelerators is real, reproducible, and the 90% utilization claim holds up; the unroll-factor concern is a minor footnote, not a flaw. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The load-bearing machinery is a family of SSA-based IRs arranged by abstraction level: a low-level RISC-V dialect whose operations are assembly instructions, structured control-flow dialects that keep loops and function calls with region bodies, and target-specific dialects that model streaming registers, stream configurations as compile-time constants, and hardware loops as operations with explicit iteration counts and region bodies. The central transformation is progressive lowering: a high-level generic operation is first rewritten into a memory-stream operation with explicit iteration bounds, then into a streaming region that wraps hardware-loop operations, so access patterns and loop control are decided while domain structure still exists. Register allocation walks the structured regions backwards in three passes, allocating loop-carried values first so the same physical register is reused across iterations, and never spills. Scheduling uses unroll-and-jam with an unroll factor of at least four to hide the target FPU's three-stage pipeline.
What would settle it
Modify the cycle-accurate RTL simulator so that floating-point multiply and add have different pipeline latencies, say five and three cycles, while keeping the generated schedule and unroll factor fixed at four; if FPU utilization drops substantially below the reported 90-95%, the uniform three-stage assumption is load-bearing. Alternatively, sweep the unroll factor from one to eight on the same kernels and check that the utilization plateau starts at four as claimed.
Extended reading notes
Core claim
The paper's central claim is that a multi-level backend, composed of several structured SSA IRs rather than a single catch-all low-level representation, can generate near-peak micro-kernels for an accelerator with non-standard ISA extensions. Concretely, the authors encode RISC-V assembly as SSA operations, add higher-level dialects that model the accelerator's streaming registers and hardware repetition loops, and perform register allocation over structured regions in three linear passes instead of reconstructing liveness from unstructured control flow. With progressive lowering from a high-level linear algebra abstraction through a memory-stream representation, compiler-generated kernels reach 90% FPU utilization on representative ML kernels, while kernels expressed directly in the low-level dialects reach up to 95%. The same kernels compiled through a conventional general-purpose compiler flow peak near 42% utilization, which the paper attributes to the information loss caused by lowering into a single low-level IR.
Load-bearing premise
The automatic scheduler assumes every floating-point operation on the target takes exactly three pipeline stages, so unrolling the inner loop by at least four eliminates all read-after-write stalls; if FPU latencies differ by operation or the memory system adds variable delays, the reported 90-95% utilization would drop.
Editorial extensions
If this is right
- Custom RISC-V ISA extensions such as hardware loops and streaming registers can be targeted automatically from a high-level DSL, removing the need to hand-write assembly for each kernel.
- Backends organized as several structured IRs can keep domain information available for scheduling, register allocation, and code generation instead of discarding it at a single mid-level IR.
- Spill-free register allocation over structured regions is sufficient for high-performance linear algebra micro-kernels, so general-purpose spilling heuristics need not be part of micro-kernel compilation.
- Kernel performance approaches the roofline as problem size grows, meaning accelerator setup and function-call overheads dominate only on small inputs.
- Existing general-purpose compiler flows leave roughly half of FPU capacity unused on this accelerator, and the multi-level backend closes most of that gap.
Reading between the lines
- A fair head-to-head test would require a competing backend that also understands the target extensions; the paper presents its general-purpose compilation flows as context rather than as direct baselines, so the 42% figure is indicative, not a controlled comparison.
- The same multi-level recipe should transfer to other accelerators whose custom features can be expressed as structured SSA operations, but the paper demonstrates only one target; implementing a second backend would test the claim's generality.
- The fixed rule of unrolling by at least the pipeline depth suggests a generic scheduling heuristic; for targets with non-uniform FPU latencies or variable memory delays, the compiler would need a latency model or autotuning.
- Because structured control flow is a precondition for the spill-free allocator, applying this backend to general-purpose code would require reintroducing liveness analysis and spilling; the paper explicitly scopes itself to linear algebra micro-kernels.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper proposes a compiler backend architecture built from multiple structured SSA-based IRs rather than a single low-level IR, and implements it for the Snitch RISC-V core with its SSR/FREP ISA extensions. The authors introduce a family of MLIR/xDSL dialects (rv, rv_cf, rv_scf, rv_func, rv_snitch, snitch_stream, memref_stream), a spill-free register allocator that exploits structured control flow, and a progressive lowering path from linalg to Snitch assembly. The evaluation uses a cycle-accurate Verilator model and reports up to 95% FPU utilization for handwritten micro-kernels and up to 90% for kernels generated from a high-level linalg DSL, with a step-by-step ablation for the MatMul kernel.
Significance. If the results are reproducible, this is a valuable demonstration that a multi-level, structured backend can target custom ISA extensions without hand-written assembly. The artifact is a notable strength: it pins tool versions and a commit hash, uses deterministic cycle-accurate simulation, and provides a full Docker-based reproduction workflow. The ablation in Table 3 cleanly separates the effects of streams, scalar replacement, FREP, fusion, and unroll-and-jam, and the register-allocation study covers a reasonable kernel set. The main gaps are the lack of direct evidence for the scheduler's unroll-factor heuristic, and the fact that the Clang/MLIR comparison flows do not target Snitch's custom extensions, so they are not equal-footing baselines.
major comments (2)
- [Section 3.4, Table 3] The claim that stalls are minimized when the unroll factor is at least four rests on an unstated and unverified hardware assumption: that every Snitch FPU operation has a three-stage pipeline with issue-to-use latency of at most three cycles. No citation, Verilator latency measurement, or unroll-factor sweep is provided. Since Table 3 shows that Unroll-and-Jam is the single step that raises MatMul occupancy from 24.5% to 90.67%, this assumption is load-bearing for the headline result. Please add a concrete reference to the Snitch specification or a direct measurement of FPU latency, and ideally a small sweep (e.g., unroll factors 2, 3, 4, 5, 6) on the MatMul kernel to demonstrate that the chosen factor is sufficient and that the scheduler is not overfit to the specific N=5 shape. Also reconcile the statement in Section 4.4 that kernels 'process four reductions at a time' with Table 3's 'five elements' interleaving.
- [Section 4.1, Section 4.4, Figure 10] The paper correctly states that the Clang and MLIR flows are 'not a baseline for direct comparison' because they do not target the Snitch ISA extensions, but it then uses the large utilization gap in Figure 10 to support the conclusion that the LLVM backend is the limiting factor. Because those flows cannot issue SSR or FREP instructions, the gap could be attributed entirely to the absence of custom-extension support rather than to the multi-level IR structure. The paper should either remove the comparative language, clearly label the plots as reference points rather than baselines, or add a variant that targets the same custom instructions from a flat low-level IR so that the contribution of the multi-level structure is not conflated with the contribution of the extensions.
minor comments (5)
- [Section 4.4, Figure 10 caption] The text in Section 4.4 says the high-level pipeline reaches 'as high as 90%' FPU utilization, while the Figure 10 caption says kernels 'reach up to 95% FPU utilization'; clarify which pipeline produced the 95% figure (the handwritten low-level path in Section 4.2 or the high-level path).
- [Section 4.2] The paper states that the FPU peak is two FLOPs per cycle for 64-bit FMA operations, but the MatMulT kernel on 32-bit data is reported at 2.45 FLOPs/cycle; explain the 32-bit packed-SIMD peak so the throughput number is placed in context.
- [Table 3] The 'FRep' column header is not defined in the caption; state explicitly whether the entry is the number of emitted FREP instructions.
- [Artifact Appendix A.2] The artifact appendix lists xDSL 0.23.01 while Section 4.1 states xDSL v0.21.1; align the versions or explain the discrepancy.
- [Figure 9] The labels such as 'MatMulT 1xK 40xK' are hard to parse; consider separating the shape annotations into a legend or subcaptions for readability.
Circularity Check
No significant circularity: the headline FPU-utilization numbers are measured against an external RTL simulator and a roofline, and the unroll factor is chosen from a stated pipeline-depth assumption rather than fitted to the reported results.
full rationale
The paper's central claim is an engineering measurement, not a derivation: FPU utilization is computed from cycle counts obtained on a Verilator cycle-accurate RTL simulation of Snitch, against a theoretical roofline derived from FLOP counts and peak FP throughput (Section 4.1). The scheduler selects an unroll factor from a stated hardware property ('For Snitch, the FPU has three stages for all operations, so stalls are minimized when the unroll factor is at least four', Section 3.4) rather than fitting the factor to the measured 90.67% occupancy in Table 3; the row for Unroll-and-Jam reports a measured outcome, not a fitted prediction. No equations in the paper equate the target result to an input, and no benchmark constant is fit and then renamed as a prediction. The self-citations present (Snitch [80], Stream Semantic Registers [65], xDSL [14,31]) describe external hardware and tooling that are re-derived or executed in the artifact: the open-source Snitch SystemVerilog is compiled with Verilator, and the artifact is archived at 10.5281/zenodo.14052014. None of these self-citations is loaded with a uniqueness theorem or an unverified premise that forces the paper's conclusion. The 'spill-free' claim is explicitly scoped to kernels with spare registers (Table 2), and the paper states this choice 'might become a concern for those with more involved features such as deeper loop nests', which is a stated limitation rather than a circular step. The main vulnerability, the unverified three-stage FPU latency assumption, is a correctness risk that would lower utilization if wrong, not a circularity. Overall, the evaluation is self-contained against an external simulator and roofline, so no circularity is found.
Assumptions & free parameters
free parameters (1)
- Unroll factor for unroll-and-jam =
at least 4 (5 for MatMul inner loop)
assumptions (4)
- standard math SSA form guarantees that a linear walk of use-def chains respects definition order, extended to MLIR regions with blocks and arguments.
- domain assumption Every Snitch FPU operation has a three-stage pipeline, so unrolling by at least four removes RAW stalls.
- domain assumption Snitch's in-order core and software-managed TCDM make performance predictable, so a simple schedule suffices without exploring a schedule space.
- ad hoc to paper Register spilling is undesirable for micro-kernels, so a spill-free allocator is the right target.
invented entities (1)
-
New xDSL/MLIR dialects for RISC-V and Snitch (rv, rv_cf, rv_scf, rv_func, rv_snitch, snitch_stream, memref_stream)
independent evidence
Cite this review
Pith. "Pith review of A Multi-level Compiler Backend for Accelerated Micro-kernels Targeting RISC-V ISA Extensions." pith.science (2026). https://pith.science/paper/S7LOMCDF
@misc{pith2026250204063,
author = {Pith},
title = {Pith review of: A Multi-level Compiler Backend for Accelerated Micro-kernels Targeting RISC-V ISA Extensions},
year = {2026},
howpublished = {\url{https://pith.science/paper/S7LOMCDF}},
note = {Machine review of arXiv:2502.04063}
}
read the original abstract
High-performance micro-kernels must fully exploit today's diverse and specialized hardware to deliver peak performance to DNNs. While higher-level optimizations for DNNs are offered by numerous compilers (e.g., MLIR, TVM, OpenXLA), performance-critical micro-kernels are left to specialized code generators or handwritten assembly. Even though widely-adopted compilers (e.g., LLVM, GCC) offer tuned backends, their CPU-focused input abstraction, unstructured IR, and general-purpose best-effort design inhibit tailored code generation for innovative hardware. We think it is time to widen the classical hourglass backend and embrace progressive lowering across a diverse set of structured abstractions to bring domain-specific code generation to compiler backends. We demonstrate this concept by implementing a custom backend for a RISC-V-based accelerator with hardware loops and streaming registers, leveraging knowledge about the hardware at levels of abstraction that match its custom ISA. We use incremental register allocation over structured IRs, while dropping classical spilling heuristics, and show up to 90% FPU utilization across key DNN kernels. By breaking the backend hourglass model, we reopen the path from domain-specific abstractions to specialized hardware.
Figures
Figures from the paper (7 more)
Reference graph
Works this paper leans on
-
[1]
Cranelift Code Generator
2024. Cranelift Code Generator. https://github.com/bytecodealliance/ wasmtime/tree/main/cranelift
2024
-
[2]
The European Processor Initiative Accelerator Processor Stream
2024. The European Processor Initiative Accelerator Processor Stream. https://www.european-processor-initiative.eu/accelerator/
2024
-
[3]
GCC, the GNU Compiler Collection - GNU Project
2024. GCC, the GNU Compiler Collection - GNU Project. https: //gcc.gnu.org/
2024
-
[4]
High performance RISC-V CPUs
2024. High performance RISC-V CPUs. https://www.ventanamicro. com/technology/risc-v-cpu-ip/
2024
-
[5]
Intel oneDNN
2024. Intel oneDNN. https://github.com/oneapi-src/oneDNN
2024
-
[6]
LLVM for PULP Platform Projects, Snitch RISC-V ISA Exten- sion Support, PULP Project
2024. LLVM for PULP Platform Projects, Snitch RISC-V ISA Exten- sion Support, PULP Project. https://github.com/pulp-platform/llvm- project/tree/d2f0eff9be1f58bb186499e2055eb6888ce88dcc
2024
-
[7]
MLIR Documentation: linalg Dialect
2024. MLIR Documentation: linalg Dialect. https://mlir.llvm.org/docs/ Dialects/Linalg
2024
-
[8]
NVIDIA cuDNN
2024. NVIDIA cuDNN. https://developer.nvidia.com/cudnn
2024
Show all 88 references
-
[9]
oneAPI Programming Model
2024. oneAPI Programming Model. https://www.oneapi.io/
2024
-
[10]
RISC-V Packed SIMD Extension
2024. RISC-V Packed SIMD Extension. https://github.com/riscv/riscv- p-spec
2024
-
[11]
Snitch Cluster, PULP Project
2024. Snitch Cluster, PULP Project. https://github.com/pulp-platform/ snitch_cluster/tree/772b86ae84ec0d5a6f1e755cb524ba0aae2cefc3
2024
-
[12]
Torch-MLIR
2024. Torch-MLIR. https://github.com/llvm/torch-mlir
2024
-
[13]
Verilator
2024. Verilator. https://www.veripool.org/wiki/verilator
2024
-
[14]
xDSL: A Python Compiler Design Toolkit
2024. xDSL: A Python Compiler Design Toolkit. https://github.com/ xdslproject/xdsl
2024
-
[15]
XuanTie RISC-V ISA Extensions Specification
2024. XuanTie RISC-V ISA Extensions Specification. https://github. com/XUANTIE-RV/thead-extension-spec
2024
-
[16]
Murray, Benoit Steiner, Paul Tucker, Vijay Va- sudevan, Pete Warden, Martin Wicke, Yuan Yu, and Xiaoqiang Zheng
Martin Abadi, Paul Barham, Jianmin Chen, Zhifeng Chen, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Geoffrey Irv- ing, Michael Isard, Manjunath Kudlur, Josh Levenberg, Rajat Monga, Sherry Moore, Derek G. Murray, Benoit Steiner, Paul Tucker, Vijay Va- sudevan, Pet...
-
[17]
2001.Optimizing Compilers for Modern Architectures: A Dependence-based Approach(1 ed.)
Randy Allen and Ken Kennedy. 2001.Optimizing Compilers for Modern Architectures: A Dependence-based Approach(1 ed.). Morgan Kaufmann, San Francisco
2001
-
[18]
Riyadh Baghdadi, Jessica Ray, Malek Ben Romdhane, Emanuele Del Sozzo, Abdurrahman Akkas, Yunming Zhang, Patricia Suriana, Shoaib Kamil, and Saman Amarasinghe. 2019. Tiramisu: A Polyhedral Compiler for Expressing Fast and Portable Code. In Proceedings of the 2019 IEEE/ACM Inter...
2019
-
[19]
George Bisbas, Anton Lydike, Emilien Bauer, Nick Brown, Mathieu Fehr, Lawrence Mitchell, Gabriel Rodriguez-Canal, Maurice Jamieson, Paul H. J. Kelly, Michel Steuwer, and Tobias Grosser. 2024. A Shared Compilation Stack for Distributed-Memory Parallelism in Stencil DSLs. In Pro...
2024
-
[20]
Uday Bondhugula. 2020. High Performance Code Generation in MLIR: An Early Case Study with GEMM. arXiv:2003.00532 [cs] (March 2020). http://arxiv.org/abs/2003.00532 arXiv: 2003.00532
2020 arXiv
-
[21]
Florent Bouchez, Alain Darte, Christophe Guillon, and Fabrice Rastello
-
[22]
Florent Bouchez Tichadou and Fabrice Rastello (Eds.). 2023. SSA-based Compiler Design (1st ed. 2022 ed.). Springer Nature Switzerland AG, Cham
2023
-
[23]
Sebastian Braun and Ivan Tashev. 2020. Data Augmentation and Loss Normalization for Deep Noise Suppression. In Speech and Computer, Alexey Karpov and Rodmonga Potapova (Eds.). Springer International Publishing, Cham, 79–86. doi: 10.1007/978-3-030-60276-5_8
2020 doi
-
[24]
Adrián Castelló, Julian Bellavita, Grace Dinh, Yuka Ikarashi, and Héc- tor Martínez. 2024. Tackling the Matrix Multiplication Micro-Kernel Generation with Exo. In 2024 IEEE/ACM International Symposium on Code Generation and Optimization (CGO) . 182–193. doi: 10.1109/ CGO57630....
2024
-
[25]
Tianqi Chen, Thierry Moreau, Ziheng Jiang, Lianmin Zheng, Eddie Yan, Meghan Cowan, Haichen Shen, Leyuan Wang, Yuwei Hu, Luis Ceze, Carlos Guestrin, and Arvind Krishnamurthy. 2018. TVM: An Automated End-to-End Optimizing Compiler for Deep Learning. In Proceedings of the 13th US...
2018
- [26]
-
[27]
Sharan Chetlur, Cliff Woolley, Philippe Vandermersch, Jonathan Co- hen, John Tran, Bryan Catanzaro, and Evan Shelhamer. 2014. cuDNN: Efficient Primitives for Deep Learning. arXiv:1410.0759 [cs] (Dec. 2014). arXiv:1410.0759 [cs] http://arxiv.org/abs/1410.0759
2014 arXiv
-
[28]
Keith Cooper and Linda Torczon. 2023. Engineering a Compiler (3rd ed.). Elsevier. doi: 10.1016/C2014-0-01395-0
2023 doi
-
[29]
David R. Ditzel. 2022. Accelerating ML Recommendation With Over 1,000 RISC-V/Tensor Processors on Esperanto’s ET-SoC-1 Chip. IEEE Micro 42, 3 (May 2022), 31–38. doi: 10.1109/MM.2022.3140674
2022
-
[30]
J. J. Dongarra, Jeremy Du Croz, Sven Hammarling, and I. S. Duff. 1990. A Set of Level 3 Basic Linear Algebra Subprograms. ACM Trans. Math. Softw. 16, 1 (March 1990), 1–17. doi: 10.1145/77626.79170
1990
- [31]
-
[32]
Angelo Garofalo, Manuele Rusci, Francesco Conti, Davide Rossi, and Luca Benini. 2019. PULP-NN: A Computing Library for Quantized Neural Network Inference at the Edge on RISC-V Based Parallel Ultra Low Power Clusters. In2019 26th IEEE International Conference on Elec- tronics, ...
2019
-
[34]
Gürkay- nak, and Luca Benini
Michael Gautschi, Pasquale Davide Schiavone, Andreas Traber, Igor Loi, Antonio Pullini, Davide Rossi, Eric Flamand, Frank K. Gürkay- nak, and Luca Benini. 2017. Near-Threshold RISC-V Core With DSP Extensions for Scalable IoT Endpoint Devices. IEEE Transactions on Very Large Sc...
2017
-
[35]
Perry Gibson and José Cano. 2023. Transfer-Tuning: Reusing Auto- Schedules for Efficient Tensor Program Code Generation. In Proceed- ings of the International Conference on Parallel Architectures and Com- pilation Techniques (PACT ’22). Association for Computing Machinery, New...
2023
-
[36]
van de Geijn
Kazushige Goto and Robert A. van de Geijn. 2008. Anatomy of High- Performance Matrix Multiplication. ACM Trans. Math. Softw. 34, 3 (May 2008), 12:1–12:25. doi: 10.1145/1356052.1356053
2008
-
[37]
Tobias Grosser, Armin Groesslinger, and Christian Lengauer. 2012. Polly — Performing Polyhedral Optimizations on a Low-Level Inter- mediate Representation. Parallel Processing Letters 22, 04 (Dec. 2012), 1250010. doi: 10.1142/S0129626412500107
2012 doi
-
[38]
Tobias Gysi, Christoph Müller, Oleksandr Zinenko, Stephan Herhut, Eddie Davis, Tobias Wicky, Oliver Fuhrer, Torsten Hoefler, and Tobias Grosser. 2021. Domain-Specific Multi-Level IR Rewriting for GPU: The Open Earth Compiler for GPU-accelerated Climate Simulation. ACM Trans. A...
2021
-
[39]
Sebastian Hack, Daniel Grund, and Gerhard Goos. 2006. Register Allocation for Programs in SSA-Form. In Compiler Construction, Alan Mycroft and Andreas Zeller (Eds.). Springer, Berlin, Heidelberg, 247–
2006
-
[40]
Bastian Hagedorn, Archibald Samuel Elliott, Henrik Barthels, Rastislav Bodik, and Vinod Grover. 2020. Fireiron: A Data-Movement-Aware Scheduling Language for GPUs. InProceedings of the ACM International Conference on Parallel Architectures and Compilation Techniques (PACT ’20)...
2020
-
[41]
Alexander Heinecke, Greg Henry, Maxwell Hutchinson, and Hans Pabst. 2016. LIBXSMM: Accelerating Small Matrix Multiplications by Runtime Code Generation. In SC16: International Conference for High Performance Computing, Networking, Storage and Analysis . IEEE, Salt Lake City, U...
2016 doi
-
[42]
Hennessy and David A
John L. Hennessy and David A. Patterson. 2019. A New Golden Age for Computer Architecture. Commun. ACM 62, 2 (jan 2019), 48–60. doi:10.1145/3282307
2019 doi
-
[43]
Yuka Ikarashi, Gilbert Louis Bernstein, Alex Reinking, Hasan Genc, and Jonathan Ragan-Kelley. 2022. Exocompilation for Productive Pro- gramming of Hardware Accelerators. In Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implemen...
2022
-
[44]
Alexandra Jimborean, Konstantinos Koukos, Vasileios Spiliopoulos, David Black-Schaffer, and Stefanos Kaxiras. 2018. Fix the code. Don’t tweak the hardware: A new compiler approach to Voltage- Frequency scaling. In Proceedings of Annual IEEE/ACM International Symposium on Code ...
2018
-
[45]
Le, Tong Chen, Gong Su, Haruki Imai, Yasushi Negishi, Anh Leu, Kevin O’Brien, Kiyokuni Kawachiya, and Alexandre E
Tian Jin, Gheorghe-Teodor Bercea, Tung D. Le, Tong Chen, Gong Su, Haruki Imai, Yasushi Negishi, Anh Leu, Kevin O’Brien, Kiyokuni Kawachiya, and Alexandre E. Eichenberger. 2020. Compiling ONNX Neural Network Models Using MLIR. doi:10.48550/arXiv.2008.08272 arXiv:2008.08272 [cs]
-
[46]
Navdeep Katel, Vivek Khandelwal, and Uday Bondhugula. 2022. MLIR- based Code Generation for GPU Tensor Cores. In Proceedings of the 31st ACM SIGPLAN International Conference on Compiler Construction (CC 2022). Association for Computing Machinery, New York, NY, USA, 117–128. do...
2022
-
[47]
Fredrik Kjolstad, Shoaib Kamil, Stephen Chou, David Lugato, and Saman Amarasinghe. 2017. The Tensor Algebra Compiler. Proc. ACM Program. Lang. 1, OOPSLA (Oct. 2017), 77:1–77:29. doi:10.1145/3133901
2017 doi
-
[48]
David Koeplinger, Matthew Feldman, Raghu Prabhakar, Yaqi Zhang, Stefan Hadjis, Ruben Fiszel, Tian Zhao, Luigi Nardi, Ardavan Pedram, Christos Kozyrakis, and Kunle Olukotun. 2018. Spatial: A Language and Compiler for Application Accelerators. In Proceedings of the 39th ACM SIGP...
2018
-
[49]
Konstantinos Koukos, David Black-Schaffer, Vasileios Spiliopoulos, and Stefanos Kaxiras. 2013. Towards More Efficient Execution: A De- coupled Access-Execute Approach. In Proceedings of the 27th Interna- tional ACM Conference on International Conference on Supercomputing (ICS ...
2013
-
[50]
Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton. 2017. Ima- geNet Classification with Deep Convolutional Neural Networks. Com- mun. ACM 60, 6 (may 2017), 84–90. doi: 10.1145/3065386
2017 doi
-
[51]
Braedy Kuzma, Ivan Korostelev, João P. L. De Carvalho, José E. Moreira, Christopher Barton, Guido Araujo, and José Nelson Amaral. 2023. Fast matrix multiplication via compiler-only layered data reorganization and intrinsic lowering. Software: Practice and Experience 53, 9 (Sep...
2023 doi
-
[52]
Chris Lattner and Vikram Adve. 2004. LLVM: A Compilation Frame- work for Lifelong Program Analysis & Transformation. In Interna- tional Symposium on Code Generation and Optimization, 2004. CGO
2004
-
[53]
Chris Lattner, Mehdi Amini, Uday Bondhugula, Albert Cohen, Andy Davis, Jacques Pienaar, River Riddle, Tatiana Shpeisman, Nicolas Vasi- lache, and Oleksandr Zinenko. 2021. MLIR: Scaling Compiler Infras- tructure for Domain Specific Computation. In 2021 IEEE/ACM Interna- tional ...
2021
-
[54]
Sadayappan
Rui Li, Yufan Xu, Aravind Sukumaran-Rajam, Atanas Rountev, and P. Sadayappan. 2021. Analytical Characterization and Design Space Exploration for Optimization of CNNs. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and...
2021 doi
-
[55]
Hsin-I Cindy Liu, Marius Brehler, Mahesh Ravishankar, Nicolas Vasi- lache, Ben Vanik, and Stella Laurenzo. 2022. TinyIREE: An ML Exe- cution Environment for Embedded Systems From Compilation to De- ployment. IEEE Micro 42, 5 (2022), 9–16. doi:10.1109/MM.2022.3178068
2022
-
[56]
A Multi-Level Compiler Backend for Accelerated Micro-kernels Targetting RISC-V ISA Extensions
Alexandre Lopoukhine, Federico Ficarelli, Christos Vasiladiotis, Anton Lydike, Josse Van Delm, Alban Dutilleul, Luca Benini, Marian Verhelst, and Tobias Grosser. 2024. Artifact of "A Multi-Level Compiler Backend for Accelerated Micro-kernels Targetting RISC-V ISA Extensions". ...
2024 doi
-
[57]
Rachit Nigam, Samuel Thomas, Zhijing Li, and Adrian Sampson. 2021. A Compiler Infrastructure for Accelerator Generators. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’21) . As- sociatio...
2021
-
[58]
Jeff Niu and Mehdi Amini. 2023. MLIR Dialect Design and Composition for Front-End Compilers. https://llvm.org/devmtg/2023-05/
2023
-
[59]
Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, Alban Desmaison, Andreas Kopf, Edward Yang, Zachary DeVito, Martin Raison, Alykhan Tejani, Sasank Chil- amkurthy, Benoit Steiner, L...
-
[60]
Dylan Patel. 2021. Tenstorrent Wormhole Analysis - A Scale Out Architecture for Machine Learning That Could Put Nvidia On Their Back Foot. https://www.semianalysis.com/p/tenstorrent-wormhole- analysis-a-scale
2021
-
[61]
Gianna Paulin, Matheus Cavalcante, Paul Scheffler, Luca Bertaccini, Yichao Zhang, Frank Gurkaynak, and Luca Benini. 2022. Soft Tiles: Capturing Physical Implementation Flexibility for Tightly-Coupled Parallel Processing Clusters. In 2022 IEEE Computer Society Annual Symposium ...
2022
-
[62]
Fernando Magno Quintão Pereira. 2007. The Design and Im- plementation of a SSA-based Register Allocator. https://www. semanticscholar.org/paper/The-Design-and-Implementation-of-a- SSA-based-Pereira/9266bd5e1102892dcbe6e38907abc119bb4e761f
2007
-
[63]
Antonio Pullini, Davide Rossi, Igor Loi, Giuseppe Tagliavini, and Luca Benini. 2019. Mr.Wolf: An Energy-Precision Scalable Parallel Ultra Low Power SoC for IoT Edge Processing. IEEE Journal of Solid-State Circuits 54, 7 (2019), 1970–1981. doi:10.1109/JSSC.2019.2912307
2019
-
[64]
Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Frédo Durand, and Saman Amarasinghe. 2013. Halide: A Lan- guage and Compiler for Optimizing Parallelism, Locality, and Recom- putation in Image Processing Pipelines. InProceedings of the 34th ACM SIGPLAN Conf...
2013
-
[65]
Fabian Schuiki, Florian Zaruba, Torsten Hoefler, and Luca Benini
-
[66]
Michel Steuwer, Toomas Remmelg, and Christophe Dubach. 2017. LIFT: A Functional Data-Parallel IR for High-Performance GPU Code Generation. In 2017 IEEE/ACM International Symposium on Code Gener- ation and Optimization (CGO) . 74–85. doi:10.1109/CGO.2017.7863730
2017
-
[67]
Giuseppe Tagliavini, Stefan Mach, Davide Rossi, Andrea Marongiu, and Luca Benini. 2019. Design and Evaluation of SmallFloat SIMD extensions to the RISC-V ISA. In 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE). IEEE, Florence, Italy, 654–657. doi:10.239...
2019
-
[68]
Jim M. R. Teichgräber. 2023. Efficient Compilation of an Extensible Intermediate Representation. Bachelor’s Thesis. Technische Universität München. https://github.com/J-MR-T/MoNaCo
2023
-
[69]
Philippe Tillet, H. T. Kung, and David Cox. 2019. Triton: An Inter- mediate Language and Compiler for Tiled Neural Network Compu- tations. In Proceedings of the 3rd ACM SIGPLAN International Work- shop on Machine Learning and Programming Languages (MAPL 2019) . Association for...
2019
-
[70]
Sadayappan, and Fabrice Rastello
Nicolas Tollenaere, Guillaume Iooss, Stéphane Pouget, Hugo Brunie, Christophe Guillon, Albert Cohen, P. Sadayappan, and Fabrice Rastello
-
[71]
Van Zee, Tyler M
Field G. Van Zee, Tyler M. Smith, Bryan Marker, Tze Meng Low, Robert A. Van De Geijn, Francisco D. Igual, Mikhail Smelyanskiy, Xianyi Zhang, Michael Kistler, Vernon Austel, John A. Gunnels, and Lee Killough. 2016. The BLIS Framework: Experiments in Portability.ACM Trans. Math....
2016 doi
-
[72]
Steven Varoumas. 2023. Using MLIR to Optimize Basic Lin- ear Algebraic Subprograms. https://llvm.org/devmtg/2023- 05/slides/TechnicalTalks-May10/08-Varoumas-UsingMLIR-to- OptimizeBasicLinearAlgebraicSubprograms.pdf
2023
- [73]
-
[74]
Jonatan Waern, Per Ekemark, Konstantinos Koukos, Stefanos Kaxiras, and Alexandra Jimborean. 2016. Profiling-Assisted Decoupled Access- Execute. http://arxiv.org/abs/1601.01722 arXiv:1601.01722 [cs]
2016 arXiv
-
[75]
Andrew Waterman and Krste Asanović. 2019. The RISC-V Instruction Set Manual, Volume 1: User-Level ISA (document version 20191213 ed.). RISC-V Foundation. Available at https://riscv.org/technical/ specifications
2019
-
[76]
Christian Wimmer and Michael Franz. 2010. Linear Scan Register Allocation on SSA Form. In Proceedings of the 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO ’10). Association for Computing Machinery, New York, NY, USA, 170–
2010
-
[77]
Tiago Cariolano De Souza Xavier, George Souza Oliveira, Ewerton Daniel De Lima, and Anderson Faustino Da Silva. 2012. A Detailed Analysis of the LLVM’s Register Allocators. In 2012 31st International Conference of the Chilean Computer Science Society . IEEE, Valparaíso, Chile,...
2012 doi
-
[78]
Florian Zaruba. 2023. Harnessing the RISC-V Wave: The Future is Now. https://www.axelera.ai/harnessing-the-risc-v-wave-the-future- is-now/
2023
-
[79]
Florian Zaruba, Fabian Schuiki, and Luca Benini. 2021. Manticore: A 4096-Core RISC-V Chiplet Architecture for Ultraefficient Floating- Point Computing. IEEE Micro 41, 2 (March 2021), 36–42. doi: 10.1109/ MM.2020.3045564
2021
-
[80]
Florian Zaruba, Fabian Schuiki, Torsten Hoefler, and Luca Benini. 2021. Snitch: A Tiny Pseudo Dual-Issue Processor for Area and Energy Efficient Execution of Floating-Point Intensive Workloads. IEEE Trans. Comput. 70, 11 (Nov. 2021), 1845–1860. doi: 10.1109/TC.2020.3027900
2021
-
[81]
Yunming Zhang, Mengjiao Yang, Riyadh Baghdadi, Shoaib Kamil, Julian Shun, and Saman Amarasinghe. 2018. GraphIt: A High- Performance Graph DSL. Proc. ACM Program. Lang. 2, OOPSLA (Oct. 2018), 121:1–121:30. doi:10.1145/3276491
2018 doi
-
[179]
doi: 10.1145/1772954.1772979
-
[262]
doi: 10.1007/11688839_20
-
[2004]
IEEE Computer Society, Washington, DC, USA, 75–
(CGO ’04). IEEE Computer Society, Washington, DC, USA, 75–. doi:10.1109/CGO.2004.1281665
2004 arXiv
-
[2005]
Research Report
Register Allocation and Spill Complexity under SSA . Research Report. Laboratoire de l’informatique du parallélisme. 2+28p. pages. https://hal-lara.archives-ouvertes.fr/hal-02102197
-
[2016]
In 12th USENIX Symposium on Operating Systems Design and Implemen- tation (OSDI 16)
TensorFlow: A System for Large-Scale Machine Learning. In 12th USENIX Symposium on Operating Systems Design and Implemen- tation (OSDI 16). 265–283. https://www.usenix.org/conference/osdi16/ technical-sessions/presentation/abadi
-
[2019]
In Advances in Neural Information Processing Systems , Vol
PyTorch: An Imperative Style, High-Performance Deep Learning Library. In Advances in Neural Information Processing Systems , Vol. 32. Curran Associates, Inc. https://proceedings.neurips.cc/paper/2019/ hash/bdbca288fee7f92f2bfa9f7012727740-Abstract.html
2019
-
[2021]
IEEE Trans
Stream Semantic Registers: A Lightweight RISC-V ISA Extension Achieving Full Compute Utilization in Single-Issue Cores. IEEE Trans. Comput. 70, 2 (Feb. 2021), 212–227. doi: 10.1109/TC.2020.2987314
2021
-
[2023]
ACM Trans
Autotuning Convolutions Is Easier Than You Think. ACM Trans. Archit. Code Optim. 20, 2 (March 2023), 20:1–20:24. doi: 10.1145/ 3570641
2023
Reviewed August 8, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.