English
Related papers

Related papers: The Parallel Semantics Program Dependence Graph

200 papers

Intermediate Representations (IRs) are central to optimizing compilers as the way the program is represented may enhance or limit analyses and transformations. Suitable IRs focus on exposing the most relevant information and establish…

Programming Languages · Computer Science 2020-12-16 Nico Reissmann , Jan Christian Meyer , Helge Bahmann , Magnus Själander

The program dependence graph (PDG) represents data and control dependence between statements in a program. This paper presents an operational semantics of program dependence graphs. Since PDGs exclude artificial order of statements that…

Programming Languages · Computer Science 2018-03-09 Sohei Ito

An optimizing compiler consists of a front end parsing a textual programming language into an intermediate representation (IR), a middle end performing optimizations on the IR, and a back end lowering the IR to a target representation (TR)…

Programming Languages · Computer Science 2011-11-22 Sebastian Buchwald , Edgar Jakumeit

The optimization phase of a compiler is responsible for transforming an intermediate representation (IR) of a program into a more efficient form. Modern optimizers, such as that used in the GraalVM compiler, use an IR consisting of a…

Logic in Computer Science · Computer Science 2024-03-04 Brae J. Webb , Mark Utting , Ian J. Hayes

Compiler optimizations, usually expressed as rewrites on program graphs, are a core part of all modern compilers. However, even production compilers have bugs, and these bugs are difficult to detect and resolve. The problem only becomes…

Programming Languages · Computer Science 2014-07-31 William Mansky , Dennis Griffith , Elsa L. Gunter

Neural program embeddings have demonstrated considerable promise in a range of program analysis tasks, including clone identification, program repair, code completion, and program synthesis. However, most existing methods generate neural…

Software Engineering · Computer Science 2022-04-21 Zongjie Li , Pingchuan Ma , Huaijin Wang , Shuai Wang , Qiyi Tang , Sen Nie , Shi Wu

The complexity of heterogeneous computing architectures, as well as the demand for productive and portable parallel application development, have driven the evolution of parallel programming models to become more comprehensive and complex…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-10-31 Anjia Wang , Xinyao Yi , Yonghong Yan

Traditional code transformation structures, such as abstract syntax trees (ASTs), conteXtual flow graphs (XFGs), and more generally, compiler intermediate representations (IRs), may have limitations in extracting higher-order semantics from…

Artificial Intelligence · Computer Science 2020-12-14 Roshni G. Iyer , Yizhou Sun , Wei Wang , Justin Gottschlich

Parallel programming models can encourage performance portability by moving the responsibility for work assignment and data distribution from the programmer to a runtime system. However, analyzing the resulting implicit memory allocations,…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-14 Fabian Knorr , Philip Salzmann , Peter Thoman , Thomas Fahringer

Probabilistic inference is fundamentally hard, yet many tasks require optimization on top of inference, which is even harder. We present a new optimization-via-compilation strategy to scalably solve a certain class of such problems. In…

Programming Languages · Computer Science 2025-04-11 Minsung Cho , John Gouwar , Steven Holtzen

GPU-based HPC clusters are attracting more scientific application developers due to their extensive parallelism and energy efficiency. In order to achieve portability among a variety of multi/many core architectures, a popular choice for an…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-04-10 Ali TehraniJamsaz , Alok Mishra , Akash Dutta , Abid M. Malik , Barbara Chapman , Ali Jannesari

Automatic parallelization improves the performance of serial program by automatically converting to parallel program. Automatic parallelization typically works in three phases: check for data dependencies in the input program, perform…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-02-19 Kavya Alluru , Jeganathan. L

Graphics Processing Units (GPUs) and other parallel devices are widely available and have the potential for accelerating a wide class of algorithms. However, expert programming skills are required to achieving maximum performance. hese…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-10-24 Robert Atkey , Michel Steuwer , Sam Lindley , Christophe Dubach

A typical compiler flow relies on a uni-directional sequence of translation/optimization steps that lower the program abstract representation, making it hard to preserve higher-level program information across each transformation step. On…

Programming Languages · Computer Science 2022-02-10 Vinicius Couto , Luciano Zago , Hervé Yviquel , Guido Araújo

Based on our previous work on algebraic laws for true concurrency, we design a structured parallel programming language for true concurrency called PPL. Different to most programming languages, PPL has an explicit parallel operator as an…

Logic in Computer Science · Computer Science 2021-11-10 Yong Wang

There is an ever-present need for shared memory parallelization schemes to exploit the full potential of multi-core architectures. The most common parallelization API addressing this need today is OpenMP. Nevertheless, writing parallel code…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-23 Tal Kadosh , Nadav Schneider , Niranjan Hasabnis , Timothy Mattson , Yuval Pinter , Gal Oren

The overall problem addressed in this paper is the long-standing problem of program correctness, and in particular programs that describe systems of parallel executing processes. We propose a new method for proving correctness of parallel…

Programming Languages · Computer Science 2023-02-10 Frank S. de Boer , Einar Broch Johnsen , Violet Ka I Pun , Silvia Lizeth Tapia Tarifa

Compilers use control flow graph (CFG) representations of low-level programs because they are suited to program analysis and optimizations. However, formalizing the behavior and metatheory of CFG programs is non-trivial: CFG programs don't…

Programming Languages · Computer Science 2018-05-16 Dmitri Garbuzov , William Mansky , Christine Rizkallah , Steve Zdancewic

GP (for Graph Programs) is a rule-based, nondeterministic programming language for solving graph problems at a high level of abstraction, freeing programmers from handling low-level data structures. The core of GP consists of four…

Logic in Computer Science · Computer Science 2010-04-08 Detlef Plump , Sandra Steinert

The difficulty of developing reliable parallel software is generating interest in deterministic environments, where a given program and input can yield only one possible result. Languages or type systems can enforce determinism in new code,…

Operating Systems · Computer Science 2010-02-01 Amittai Aviram , Bryan Ford
‹ Prev 1 2 3 10 Next ›