English
Related papers

Related papers: Lifting C Semantics for Dataflow Optimization

200 papers

Discovering causal relationships from data is the ultimate goal of many research areas. Constraint based causal exploration algorithms, such as PC, FCI, RFCI, PC-simple, IDA and Joint-IDA have achieved significant progress and have many…

Artificial Intelligence · Computer Science 2015-10-13 Thuc Duy Le , Tao Hoang , Jiuyong Li , Lin Liu , Shu Hu

We present a programming methodology and runtime performance case study comparing the declarative data flow coordination language S-Net with Intel's Concurrent Collections (CnC). As a coordination language S-Net achieves a near-complete…

Programming Languages · Computer Science 2014-04-04 Pavel Zaichenkov , Bert Gijsbers , Clemens Grelck , Olga Tveretina , Alex Shafarenko

Static analysis approximates the results of a program by examining only its syntax. For example, control-flow analysis (CFA) determines which syntactic lambdas (for functional languages) or (for object-oriented) methods may be invoked at…

Programming Languages · Computer Science 2021-07-28 Davis Ross Silverman , Yihao Sun , Kristopher Micinski , Thomas Gilray

We investigate how combinations of Large Language Models (LLMs) and symbolic analyses can be used to synthesise specifications of C programs. The LLM prompts are augmented with outputs from two formal methods tools in the Frama-C ecosystem,…

Software Engineering · Computer Science 2024-09-19 George Granberry , Wolfgang Ahrendt , Moa Johansson

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

Driven by artificial intelligence, data science, and high-resolution simulations, I/O workloads and hardware on high-performance computing (HPC) systems have become increasingly complex. This complexity can lead to large I/O overheads and…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-01-03 Hammad Ather , Jean Luca Bez , Chen Wang , Hank Childs , Allen D. Malony , Suren Byna

It is time-consuming and error-prone to implement inference procedures for each new probabilistic model. Probabilistic programming addresses this problem by allowing a user to specify the model and having a compiler automatically generate…

The present panorama of HPC architectures is extremely heterogeneous, ranging from traditional multi-core CPU processors, supporting a wide class of applications but delivering moderate computing performance, to many-core GPUs, exploiting…

High-level synthesis (HLS) tools have brought FPGA development into the mainstream, by allowing programmers to design architectures using familiar languages such as C, C++, and OpenCL. While the move to these languages has brought…

Hardware Architecture · Computer Science 2019-10-11 Johannes de Fine Licht , Torsten Hoefler

Software is a communication system. The usual topic of communication is program behavior, as encoded by programs. Domain-specific libraries are codebooks, domain-specific languages are coding schemes, and so forth. To turn metaphor into…

Software Engineering · Computer Science 2007-07-30 Todd L. Veldhuizen

Automatic parallelization remains a challenging problem in software engineering, particularly in identifying code regions where loops can be safely executed in parallel on modern multi-core architectures. Traditional static analysis…

Software Engineering · Computer Science 2026-04-01 Izavan dos S. Correia , Henrique C. T. Santos , Tiago A. E. Ferreira

Heterogeneous computing is one of the most important computational solutions to meet rapidly increasing demands on system performance. It typically allows the main flow of applications to be executed on a CPU while the most computationally…

Software Engineering · Computer Science 2020-12-11 Hugo Andrade , Ola Benderius , Christian Berger , Ivica Crnkovic , Jan Bosch

The nested parallel (a.k.a. fork-join) model is widely used for writing parallel programs. However, the two composition constructs, i.e. "$\parallel$" (parallel) and "$;$" (serial), are insufficient in expressing "partial dependencies" or…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-02-16 David Dinh , Harsha Vardhan Simhadri , Yuan Tang

Exascale computing will get mankind closer to solving important social, scientific and engineering problems. Due to high prototyping costs, High Performance Computing (HPC) system architects make use of simulation models for design space…

Performance · Computer Science 2018-03-28 Alexandra Ferreron , Radhika Jagtap , Sascha Bischoff , Roxana Rusitoru

Programmable switch hardware makes it possible to move fine-grained control logic inside the network data plane, improving performance for a wide range of applications. However, applications with integrated control are inherently hard to…

Networking and Internet Architecture · Computer Science 2021-07-07 John Sonchack , Devon Loehr , Jennifer Rexford , David Walker

High Performance Computing (HPC) aims at providing reasonably fast computing solutions to scientific and real life problems. The advent of multicore architectures is noticeable in the HPC history, because it has brought the underlying…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-10-07 Claude Tadonki

Data sharing is central to a wide variety of applications such as fraud detection, ad matching, and research. The lack of data sharing abstractions makes the solution to each data sharing problem bespoke and cost-intensive, hampering value…

Databases · Computer Science 2024-08-09 Siyuan Xia , Chris Zhu , Tapan Srivastava , Bridget Fahey , Raul Castro Fernandez

Neuromorphic computing exhibits great potential to provide high-performance benefits in various applications beyond neural networks. However, a general-purpose program execution model that aligns with the features of neuromorphic computing…

Computation and Language · Computer Science 2024-08-05 Weihao Zhang , Yu Du , Hongyi Li , Songchen Ma , Rong Zhao

Manual parallelization of code remains a significant challenge due to the complexities of modern software systems and the widespread adoption of multi-core architectures. This paper introduces OMPar, an AI-driven tool designed to automate…

Computation and Language · Computer Science 2024-09-24 Tal Kadosh , Niranjan Hasabnis , Prema Soundararajan , Vy A. Vo , Mihai Capota , Nesreen Ahmed , Yuval Pinter , Gal Oren

The increasing complexity of computing systems places a tremendous burden on optimizing compilers, requiring ever more accurate and aggressive optimizations. Machine learning offers significant benefits for constructing optimization…

Machine Learning · Computer Science 2020-03-25 Chris Cummins , Zacharias V. Fisches , Tal Ben-Nun , Torsten Hoefler , Hugh Leather