English
Related papers

Related papers: Souper: A Synthesizing Superoptimizer

200 papers

Crary and Sullivan's Relaxed Memory Calculus (RMC) proposed a new declarative approach for writing low-level shared memory concurrent programs in the presence of modern relaxed-memory multi-processor architectures and optimizing compilers.…

Programming Languages · Computer Science 2019-04-12 Michael J. Sullivan , Karl Crary , Salil Joshi

Compiling high-level programs to target high-speed packet-processing pipelines is a challenging combinatorial optimization problem. The compiler must configure the pipeline's resources to match the high-level semantics of the program, while…

Networking and Internet Architecture · Computer Science 2022-11-22 Xiangyu Gao , Divya Raghunathan , Ruijie Fang , Tao Wang , Xiaotong Zhu , Anirudh Sivaraman , Srinivas Narayana , Aarti Gupta

In our current work a library of formally verified software components is to be created, and assembled, using the Low-Level Virtual Machine (LLVM) intermediate form, into subsystems whose top-level assurance relies on the assurance of the…

Programming Languages · Computer Science 2014-06-09 David S. Hardin , Jennifer A. Davis , David A. Greve , Jedidiah R. McClurg

Program developers spend significant time on optimizing and tuning programs. During this iterative process, they apply optimizations, analyze the resulting code, and modify the compilation until they are satisfied. Understanding what the…

Human-Computer Interaction · Computer Science 2020-11-10 Sabin Devkota , Pascal Aschwanden , Adam Kunen , Matthew Legendre , Katherine E. Isaacs

Recent advances in large language models (LLMs) for code applications have demonstrated remarkable zero-shot fluency and instruction following on challenging code related tasks ranging from test case generation to self-repair.…

Tensor algebra is widely used in many applications, such as scientific computing, machine learning, and data analytics. The tensors represented real-world data are usually large and sparse. There are tens of storage formats designed for…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-02-11 Ruiqin Tian , Luanzheng Guo , Jiajia Li , Bin Ren , Gokcen Kestor

Portability, performance, and productivity are three critical dimensions for evaluating a programming model or compiler infrastructure. Several modern programming models for computational science focus on performance and portability. On the…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-10-01 Brian Kelley , Sivasankaran Rajamanickam

Machine learning algorithms are commonly specified in linear algebra (LA). LA expressions can be rewritten into more efficient forms, by taking advantage of input properties such as sparsity, as well as program properties such as common…

Databases · Computer Science 2020-12-24 Yisu Remy Wang , Shana Hutchison , Jonathan Leang , Bill Howe , Dan Suciu

In this paper, we propose a new concept called \textit{semantically equivalence} \wrt \textit{optimization phases} \textit{(\sep)}, which defines the set of programs a compiler considers semantically equivalent to the input using a set of…

Programming Languages · Computer Science 2024-10-23 Yu Wang , Hongyu Chen , Ke Wang

Sympiler is a domain-specific code generator that optimizes sparse matrix computations by decoupling the symbolic analysis phase from the numerical manipulation stage in sparse codes. The computation patterns in sparse numerical methods are…

Programming Languages · Computer Science 2018-01-08 Kazem Cheshmi , Shoaib Kamil , Michelle Mills Strout , Maryam Mehri Dehnavi

In this paper we outline how a simple compiler can be completely specified using higher order rewriting in all stages: parsing, analysis/optimization, and code emission, specifically using the crsx.sf.net system for a small declarative…

Logic in Computer Science · Computer Science 2011-02-21 Kristoffer H. Rose

While Large Language Models (LLMs) have achieved remarkable success in various fields, the efficiency of training and inference remains a major challenge. To address this issue, we propose SUBLLM, short for Subsampling-Upsampling-Bypass…

Computation and Language · Computer Science 2024-08-26 Quandong Wang , Yuxuan Yuan , Xiaoyu Yang , Ruike Zhang , Kang Zhao , Wei Liu , Jian Luan , Daniel Povey , Bin Wang

Traditionally, compiler researchers either conduct experiments within an existing production compiler or develop their own prototype compiler; both options come with trade-offs. On one hand, prototyping in a production compiler can be…

In recent years, end-to-end Large Language Model (LLM) technology has shown substantial advantages across various domains. As critical system software and infrastructure, compilers are responsible for transforming source code into target…

Machine Learning · Computer Science 2025-11-07 Hongbin Zhang , Shihao Gao , Yang Liu , Mingjie Xing , Yanjun Wu , Chen Zhao

We present the C++ library CppSs (C++ super-scalar), which provides efficient task-parallelism without the need for special compilers or other software. Any C++ compiler that supports C++11 is sufficient. CppSs features different…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-02-27 Steffen Brinkmann , Jose Gracia

We present TTC, an open-source parallel compiler for multidimensional tensor transpositions. In order to generate high-performance C++ code, TTC explores a number of optimizations, including software prefetching, blocking, loop-reordering,…

Mathematical Software · Computer Science 2016-03-09 Paul Springer , Jeff R. Hammond , Paolo Bientinesi

Interacting with computers is a ubiquitous activity for millions of people. Repetitive or specialized tasks often require creation of small, often one-off, programs. End-users struggle with learning and using the myriad of domain-specific…

Programming Languages · Computer Science 2015-09-02 Aditya Desai , Sumit Gulwani , Vineet Hingorani , Nidhi Jain , Amey Karkare , Mark Marron , Sailesh R , Subhajit Roy

Efficient execution of deep learning workloads on dataflow architectures is crucial for overcoming memory bottlenecks and maximizing performance. While streaming intermediate results between computation kernels can significantly improve…

Hardware Architecture · Computer Science 2025-09-24 Hanchen Ye , Deming Chen

A C decompiler converts an executable into source code. The recovered C source code, once re-compiled, is expected to produce an executable with the same functionality as the original executable. With over twenty years of development, C…

Software Engineering · Computer Science 2023-11-30 Wai Kin Wong , Huaijin Wang , Zongjie Li , Zhibo Liu , Shuai Wang , Qiyi Tang , Sen Nie , Shi Wu

Embedded systems have proliferated in various consumer and industrial applications with the evolution of Cyber-Physical Systems and the Internet of Things. These systems are subjected to stringent constraints so that embedded software must…