English
Related papers

Related papers: Automatic Compiler-Based Data Structure Generation

200 papers

Compiler optimization relies on sequences of passes to improve program performance. Selecting and ordering these passes automatically, known as compiler auto-tuning, is challenging due to the large and complex search space. Existing…

Software Engineering · Computer Science 2025-10-16 Haolin Pan , Jinyuan Dong , Mingjie Xing , Yanjun Wu

In program verification, constraint-based random testing is a powerful technique which aims at generating random test cases that satisfy functional properties of a program. However, on recursive constrained data-structures (e.g., sorted…

Programming Languages · Computer Science 2022-08-29 Ghiles Ziat , Vincent Botbol , Matthieu Dien , Arnaud Gotlieb , Martin Pépin , Catherine Dubois

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 dense tensor algebra…

Programming Languages · Computer Science 2024-07-19 Mahdi Ghorbani , Emilien Bauer , Tobias Grosser , Amir Shaikhha

We present a systematic, algebraically based, design methodology for efficient implementation of computer programs optimized over multiple levels of the processor/memory and network hierarchy. Using a common formalism to describe the…

Mathematical Software · Computer Science 2008-03-18 Lenore R. Mullin , James E. Raynolds

Scientific programmers often turn to vendor-tuned Basic Linear Algebra Subprograms (BLAS) to obtain portable high performance. However, many numerical algorithms require several BLAS calls in sequence, and those successive calls result in…

Mathematical Software · Computer Science 2012-05-09 Geoffrey Belter , Elizabeth Jessup , Thomas Nelson , Boyana Norris , Jeremy G. Siek

Containerization allows developers to define the execution environment in which their software needs to be installed. Docker is the leading platform in this field, and developers that use it are required to write a Dockerfile for their…

Software Engineering · Computer Science 2023-03-29 Giovanni Rosa , Antonio Mastropaolo , Simone Scalabrino , Gabriele Bavota , Rocco Oliveto

This work deals with the generation of theoretical correlation matrices with specific sparsity patterns, associated to graph structures. We present a novel approach based on convex optimization, offering greater flexibility compared to…

Signal Processing · Electrical Eng. & Systems 2025-02-26 Ali Fakhar , Kévin Polisano , Irène Gannaz , Sophie Achard

We present a technique for automatically generating features for data-driven program analyses. Recently data-driven approaches for building a program analysis have been proposed, which mine existing codebases and automatically learn…

Programming Languages · Computer Science 2017-01-02 Kwonsoo Chae , Hakjoo Oh , Kihong Heo , Hongseok Yang

Data pipeline frameworks provide abstractions for implementing sequences of data-intensive transformation operators, automating the deployment and execution of such transformations in a cluster. Deploying a data pipeline, however, requires…

Artificial Intelligence · Computer Science 2026-01-13 Leonardo Rosa Amado , Adriano Vogel , Dalvan Griebler , Gabriel Paludo Licks , Eric Simon , Felipe Meneguzzi

Compiler backends should be automatically generated from hardware design language (HDL) models of the hardware they target. Generating compiler components directly from HDL can provide stronger correctness guarantees, ease development…

Programming Languages · Computer Science 2023-05-17 Gus Henry Smith , Ben Kushigian , Vishal Canumalla , Andrew Cheung , René Just , Zachary Tatlock

This paper shows how to generate code that efficiently converts sparse tensors between disparate storage formats (data layouts) such as CSR, DIA, ELL, and many others. We decompose sparse tensor conversion into three logical phases:…

Mathematical Software · Computer Science 2020-07-01 Stephen Chou , Fredrik Kjolstad , Saman Amarasinghe

The rapid advancement of AI-assisted software engineering has brought transformative potential to the field of software engineering, but existing tools and paradigms remain limited by cognitive overload, inefficient tool integration, and…

Software Engineering · Computer Science 2026-03-12 Filipe R. Cogo , Gustavo A. Oliva , Ahmed E. Hassan

Constraint automata (CA) constitute a coordination model based on finite automata on infinite words. Originally introduced for modeling of coordinators, an interesting new application of CAs is implementing coordinators (i.e., compiling CAs…

Programming Languages · Computer Science 2019-03-14 Sung-Shik T. Q. Jongmans , Farhad Arbab

Symmetric and sparse tensors arise naturally in many domains including linear algebra, statistics, physics, chemistry, and graph theory. Symmetric tensors are equal to their transposes, so in the $n$-dimensional case we can save up to a…

Mathematical Software · Computer Science 2025-01-27 Radha Patel , Willow Ahrens , Saman Amarasinghe

Database applications are typically written using a mixture of imperative languages and declarative frameworks for data processing. Application logic gets distributed across the declarative and imperative parts of a program. Often, there is…

Databases · Computer Science 2018-02-27 K. Venkatesh Emani , S. Sudarshan

GPU compilers are complex software programs with many optimizations specific to target hardware. These optimizations are often controlled by heuristics hand-designed by compiler experts using time- and resource-intensive processes. In this…

Machine Learning · Computer Science 2021-11-24 Ian Colbert , Jake Daly , Norm Rubin

This paper presents an infrastructure to test the functionality of the specific architectures output by a high-level compiler targeting dynamically reconfigurable hardware. It results in a suitable scheme to verify the architectures…

Hardware Architecture · Computer Science 2011-11-09 Rui Rodrigues , Joao M. P. Cardoso

Sparse fusion is a compile-time loop transformation and runtime scheduling implemented as a domain-specific code generator. Sparse fusion generates efficient parallel code for the combination of two sparse matrix kernels where at least one…

Programming Languages · Computer Science 2021-11-25 Kazem Cheshmi , Michelle Mills Strout , Maryam Mehri Dehnavi

Program build information, such as compilers and libraries used, is vitally important in an auditing and benchmarking framework for HPC systems. We have developed a tool to automatically extract this information using signature-based…

Software Engineering · Computer Science 2013-02-08 Charng-Da Lu

Image processing and machine learning applications benefit tremendously from hardware acceleration, but existing compilers target either FPGAs, which sacrifice power and performance for flexible hardware, or ASICs, which rapidly become…