English
Related papers

Related papers: Let's Annotate to Let Our Code Run in Parallel

200 papers

We study general techniques for implementing distributed data structures on top of future many-core architectures with non cache-coherent or partially cache-coherent memory. With the goal of contributing towards what might become, in the…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-04-09 Panagiota Fatourou , Nikolaos D. Kallimanis , Eleni Kanellou , Odysseas Makridakis , Christi Symeonidou

Software developers maintain extensive mental models of code they produce and its context, often relying on memory to retrieve or reconstruct design decisions, edge cases, and debugging experiences. These missing links and data obstruct…

Software Engineering · Computer Science 2025-04-29 Edward Misback , Erik Vank , Zachary Tatlock , Steven Tanimoto

Multicore parallel programming has some very difficult problems such as deadlocks during synchronizations and race conditions brought by concurrency. Added to the difficulty is the lack of a simple, well-accepted computing model for…

Programming Languages · Computer Science 2010-12-09 Yibing Wang

Parallel task-based programming models, like OpenMP, allow application developers to easily create a parallel version of their sequential codes. The standard OpenMP 4.0 introduced the possibility of describing a set of data dependences per…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-09-09 Jaume Bosch , Carlos Álvarez , Daniel Jiménez-González , Xavier Martorell , Eduard Ayguadé

Annotations allow users to associate additional information with existing resources. Using proprietary and closed systems on the Web, users are already able to annotate multimedia resources such as images, audio and video. So far, however,…

Digital Libraries · Computer Science 2011-06-28 Bernhard Haslhofer , Rainer Simon , Robert Sanderson , Herbert van de Sompel

Program translation refers to migrating source code from one programming language to another. It has tremendous practical value in software development, as porting software across languages is time-consuming and costly. Automating program…

Software Engineering · Computer Science 2023-05-08 Wasi Uddin Ahmad , Md Golam Rahman Tushar , Saikat Chakraborty , Kai-Wei Chang

It is well known that modern functional programming languages are naturally amenable to parallel programming. Achieving efficient parallelism using functional languages, however, remains difficult. Perhaps the most important reason for this…

Programming Languages · Computer Science 2018-02-20 Adrien Guatto , Sam Westrick , Ram Raghunathan , Umut Acar , Matthew Fluet

Many existing systems track aliasing and uniqueness, each with their own trade-off between expressiveness and developer effort. We propose Latte, a new approach that aims to minimize both the amount of annotations and the complexity of…

Programming Languages · Computer Science 2023-09-12 Conrad Zimmerman , Catarina Gamboa , Alcides Fonseca , Jonathan Aldrich

The construction of high-quality parallel corpora for translation research has increasingly evolved from simple sentence alignment to complex, multi-layered annotation tasks. This methodological shift presents significant challenges for…

Computation and Language · Computer Science 2026-02-12 Baorong Huang , Ali Asiri

We explore asynchronous programming with algebraic effects. We complement their conventional synchronous treatment by showing how to naturally also accommodate asynchrony within them, namely, by decoupling the execution of operation calls…

Programming Languages · Computer Science 2020-11-17 Danel Ahman , Matija Pretnar

These lecture notes are designed to accompany an imaginary, virtual, undergraduate, one or two semester course on fundamentals of Parallel Computing as well as to serve as background and reference for graduate courses on High-Performance…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-10-02 Jesper Larsson Träff

Of the complex features of generic nominally-typed OO type systems, wildcard types and variance annotations are probably the hardest to fully grasp. As demonstrated when adding closures (a.k.a., lambdas) and when extending type inference in…

Programming Languages · Computer Science 2018-07-17 Moez A. AbdelGawad

Graphics processing units (GPU) had evolved from a specialized hardware capable to render high quality graphics in games to a commodity hardware for effective processing blocks of data in a parallel schema. This evolution is particularly…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-03-26 Luis Cabellos

With rapidly evolving technology, multicore and manycore processors have emerged as promising architectures to benefit from increasing transistor numbers. The transition towards these parallel architectures makes today an exciting time to…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-04-01 Ashkan Tousimojarad , Wim Vanderbauwhede

Parallel I/O refers to the ability of scientific programs to concurrently read/write from/to a single file from multiple processes executing on distributed memory platforms like compute clusters. In the HPC world, I/O becomes a significant…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-15 Muhammad Sohaib Ayub , Muhammad Adnan , Muhammad Yasir Shafi

The electrical and electronic engineering has used parallel programming to solve its large scale complex problems for performance reasons. However, as parallel programming requires a non-trivial distribution of tasks and data, developers…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-07-05 Antonio Wendell De Oliveira Rodrigues , Frédéric Guyomarc'H , Jean-Luc Dekeyser , Yvonnick Le Menach

To prevent concurrency errors, programmers need to obey a locking discipline. Annotations that specify that discipline, such as Java's @GuardedBy, are already widely used. Unfortunately, their semantics is expressed informally and is…

Programming Languages · Computer Science 2015-11-17 Michael Ernst , Damiano Macedonio , Massimo Merro , Fausto Spoto

Real-time systems applications usually consist of a set of concurrent activities with timing-related properties. Developing these applications requires programming paradigms that can effectively handle the specification of concurrent…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-03-21 Luis Miguel Pinho

One of the most time-consuming tasks for developers is the comprehension of new code bases. An effective approach to aid this process is to label source code files with meaningful annotations, which can help developers understand the…

Software Engineering · Computer Science 2023-12-01 Cezar Sas , Andrea Capiluppi

This paper introduces an effort to incorporate reconfigurable logic (FPGA) components into a software programming model. For this purpose, we have implemented a hardware engine for remote memory communication between hardware computation…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-08-22 Ruediger Willenberg , Paul Chow
‹ Prev 1 3 4 5 6 7 10 Next ›