English
Related papers

Related papers: The Parallel Semantics Program Dependence Graph

200 papers

Graphs model several real-world phenomena. With the growth of unstructured and semi-structured data, parallelization of graph algorithms is inevitable. Unfortunately, due to inherent irregularity of computation, memory access, and…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-08 Nibedita Behera , Ashwina Kumar , Ebenezer Rajadurai T , Sai Nitish , Rajesh Pandian M , Rupesh Nasre

Implementing a concurrent data structure typically begins with defining its sequential specification. However, when used \emph{as is}, a nontrivial sequential data structure, such as a linked list, a search tree, or a hash table, may expose…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-03-07 Vincent Gramoli , Petr Kuznetsov , Srivatsan Ravi

With the advent of multi-core processors and their fast expansion, it is quite clear that {\em parallel computing} is now a genuine requirement in Computer Science and Engineering (and related) curriculum. In addition to the pervasiveness…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-02-13 Claude Tadonki

Stable Logic Programming (SLP) is an emergent, alternative style of logic programming: each solution to a problem is represented by a stable model of a deductive database/function-free logic program encoding the problem itself. Several…

Artificial Intelligence · Computer Science 2014-02-25 Gianpaolo Brignoli , Stefania Costantini , Ottavio D'Antona , Alessandro Provetti

In this paper, we evaluate the performance of various parallel optimization methods for Kernel Support Vector Machines on multicore CPUs and GPUs. In particular, we provide the first comparison of algorithms with explicit and implicit…

Machine Learning · Computer Science 2014-04-04 Stephen Tyree , Jacob R. Gardner , Kilian Q. Weinberger , Kunal Agrawal , John Tran

Software engineers are faced with the challenge of creating control algorithms for increasingly complex dynamic systems, such as the management of communication network topologies. To support rapid prototyping for these increasingly complex…

Software Engineering · Computer Science 2025-03-27 Maximilian Kratz , Sebastian Ehmes , Philipp Maximilian Menzel , Andy Schürr

Program synthesis is the task of automatically generating expressions that satisfy a given specification. Program synthesis techniques have been used to automate the generation of loop invariants in code, synthesize function summaries, and…

Logic in Computer Science · Computer Science 2020-10-13 Elizabeth Polgreen , Sanjit A. Seshia

Linear Programming (LP) is widely applied in industry and is a key component of various other mathematical problem-solving techniques. Recent work introduced an LP compiler translating polynomial-time, polynomial-space algorithms into…

Programming Languages · Computer Science 2025-09-17 Shermin Khosravi , David Bremner

In this paper we present an optimized parallel implementation of a flexible MAP decoder for synchronization error correcting codes, supporting a very wide range of code sizes and channel conditions. On mid-range GPUs we demonstrate decoding…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-02-26 Johann A. Briffa

Region-based compilation repartitions a program into more desirable compilation units using profiling information and procedure inlining to enable region formation analysis. Heuristics play a key role in determining when it is most…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Thomas P. Way , Lori L. Pollock

Synthesizing programs from examples requires searching over a vast, combinatorial space of possible programs. In this search process, a key challenge is representing the behavior of a partially written program before it can be executed, to…

Programming Languages · Computer Science 2021-04-21 Maxwell Nye , Yewen Pu , Matthew Bowers , Jacob Andreas , Joshua B. Tenenbaum , Armando Solar-Lezama

BIP is a component framework for constructing systems by superposing three layers of modeling: Behavior, Interaction, and Priority. Behavior is represented by labeled transition systems communicating through ports. Interactions are sets of…

Software Engineering · Computer Science 2009-12-01 Mohamad Jaber , Ananda Basu , Simon Bliudze

Hardware architectures and machine learning (ML) libraries evolve rapidly. Traditional compilers often fail to generate high-performance code across the spectrum of new hardware offerings. To mitigate, engineers develop hand-tuned kernels…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-03-18 Tim Zerrell , Jeremy Bruestle

Parallel processing is a principle which enables simultaneous implementation of anesthesia induction and operating room (OR) turnover with the aim of improving OR utilization. In this article, we study the problem of scheduling surgeries…

Optimization and Control · Mathematics 2022-01-03 Batuhan Celik , Serhat Gul , Melih Celik

Neural program embeddings have shown much promise recently for a variety of program analysis tasks, including program synthesis, program repair, fault localization, etc. However, most existing program embeddings are based on syntactic…

Artificial Intelligence · Computer Science 2018-07-03 Ke Wang , Rishabh Singh , Zhendong Su

Program representation, which aims at converting program source code into vectors with automatically extracted features, is a fundamental problem in programming language processing (PLP). Recent work tries to represent programs with neural…

Machine Learning · Computer Science 2022-02-28 Ting Long , Yutong Xie , Xianyu Chen , Weinan Zhang , Qinxiang Cao , Yong Yu

In this paper, we propose an empirical method for evaluating the performance of parallel code. Our method is based on a simple idea that is surprisingly effective in helping to identify causes of poor performance, such as high…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-09-15 Umut A. Acar , Arthur Charguéraud , Mike Rainey

We describe a programming abstraction for heterogeneous parallel hardware, designed to capture a wide range of popular parallel hardware, including GPUs, vector instruction sets and multicore CPUs. Our abstraction, which we call HPVM, is a…

Programming Languages · Computer Science 2016-11-04 Prakalp Srivastava , Maria Kotsifakou , Vikram Adve

Transition System Specifications provide programming and specification languages with a semantics. They provide the meaning of a closed term as a process graph: a state in a labelled transition system. At the same time they provide the…

Logic in Computer Science · Computer Science 2019-08-26 Rob van Glabbeek

The performance bottlenecks of graph applications depend not only on the algorithm and the underlying hardware, but also on the size and structure of the input graph. Programmers must try different combinations of a large set of techniques…

Programming Languages · Computer Science 2018-10-24 Yunming Zhang , Mengjiao Yang , Riyadh Baghdadi , Shoaib Kamil , Julian Shun , Saman Amarasinghe