English
Related papers

Related papers: MISO: An intermediate language to express parallel…

200 papers

We present the design and implementation of a macro-embedding of a family of compiler intermediate languages, from a Scheme-like language to x86-64, into Racket. This embedding is used as part of a testing framework for a compilers course…

Programming Languages · Computer Science 2025-09-25 William J. Bowman

In Compiler Design courses, students learn how a program written in high level programming language and designed for humans understanding is systematically converted into low level assembly language understood by machines, through different…

Programming Languages · Computer Science 2022-04-14 Eduardo Adam Navas-López

The paper provides a unified co-design of 1) a programming and execution model that allows spawning tasks from within the vertex data at runtime, 2) language constructs for \textit{actions} that send work to where the data resides,…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-05-09 Bibrak Qamar Chandio , Prateek Srivastava , Maciej Brodowicz , Martin Swany , Thomas Sterling

The provision of mechanisms for processor allocation in current distributed parallel programming models is very limited. This makes difficult, or even prohibits, the expression of a large class of programs which require a run-time…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-05-20 James Hanlon , Simon J. Hollis

The number of cores on graphical computing units (GPUs) is reaching thousands nowadays, whereas the clock speed of processors stagnates. Unfortunately, constraint programming solvers do not take advantage yet of GPU parallelism. One reason…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-07-26 Pierre Talbot , Frédéric Pinel , Pascal Bouvry

In designing distributed and parallel systems there are several approaches for programming interactions in a multiprocess environment. Usually, these approaches take care only of synchronization or communication in two-party interactions.…

Programming Languages · Computer Science 2021-11-09 Brian Randell , Avelino Francisco Zorzo

In this article we present PARSIR (PARallel SImulation Runner), a package that enables the effective exploitation of shared-memory multi-processor machines for running discrete event simulation models. PARSIR is a compile/run-time…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-10-02 Francesco Quaglia

Large Language Models (LLMs) have become increasingly capable of handling diverse tasks with the aid of well-crafted prompts and integration of external tools, but as task complexity rises, the workflow involving LLMs can be complicated and…

Artificial Intelligence · Computer Science 2024-06-21 Honghua Dong , Qidong Su , Yubo Gao , Zhaoyu Li , Yangjun Ruan , Gennady Pekhimenko , Chris J. Maddison , Xujie Si

To support growing massive parallelism, functional components and also the capabilities of current processors are changing and continue to do so. Todays computers are built upon multiple processing cores and run applications consisting of a…

Programming Languages · Computer Science 2016-04-07 Somnath Mazumdar , Roberto Giorgi

Microprocessor roadmaps clearly show a trend towards multiple core CPUs. Modern operating systems already make use of these CPU architectures by distributing tasks between processing cores thereby increasing system performance. This review…

Software Engineering · Computer Science 2016-09-08 M. Vaidehi , T. R. Gopalakrishnan Nair

We present POLO --- a C++ library for large-scale parallel optimization research that emphasizes ease-of-use, flexibility and efficiency in algorithm design. It uses multiple inheritance and template programming to decompose algorithms into…

Optimization and Control · Mathematics 2018-10-09 Arda Aytekin , Martin Biel , Mikael Johansson

For several decades, the CPU has been the standard model to use in the majority of computing. While the CPU does excel in some areas, heterogeneous computing, such as reconfigurable hardware, is showing increasing potential in areas like…

Hardware Architecture · Computer Science 2021-04-21 Carl-Johannes Johnsen , Alberte Thegler , Kenneth Skovhede , Brian Vinter

We study the distributed optimization of transmit strategies in a multiple-input, single-output (MISO) interference channel (IFC). Existing distributed algorithms rely on stricly synchronized update steps by the individual users. They…

Information Theory · Computer Science 2015-06-19 Stefan Wesemann , Gerhard Fettweis

We discuss the use of both MPI and OpenMP in the teaching of senior undergraduate and junior graduate classes in parallel programming. We briefly introduce the OpenMP standard and discuss why we have chosen to use it in parallel programming…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Yi Pan

Multitier programming languages reduce the complexity of developing distributed systems by developing the distributed system in a single coherent code base. The compiler or the runtime separate the code for the components of the distributed…

Programming Languages · Computer Science 2020-02-17 Pascal Weisenburger , Guido Salvaneschi

Message-passing based concurrent languages are widely used in developing large distributed and coordination systems. This paper presents the buffered $\pi$-calculus --- a variant of the $\pi$-calculus where channel names are classified into…

Logic in Computer Science · Computer Science 2012-12-27 Xiaojie Deng , Yu Zhang , Yuxin Deng , Farong Zhong

Researchers working on the automatic parallelization of programs have long known that too much parallelism can be even worse for performance than too little, because spawning a task to be run on another CPU incurs overheads.…

Programming Languages · Computer Science 2011-09-08 Paul Bone , Zoltan Somogyi , Peter Schachte

Similar to other programming models, compilers for SYCL, the open programming model for heterogeneous computing based on C++, would benefit from access to higher-level intermediate representations. The loss of high-level structure and…

Programming Languages · Computer Science 2023-12-21 Ettore Tiotto , Víctor Pérez , Whitney Tsang , Lukas Sommer , Julian Oppermann , Victor Lomüller , Mehdi Goli , James Brodman

We describe a system that simplifies the process of debugging programs produced by computer-aided parallelization tools. The system uses relative debugging techniques to compare serial and parallel executions in order to show where the…

Software Engineering · Computer Science 2007-05-23 Robert Hood , Gabriele Jost

Matrix Distributed Processing (MDP) is a C++ library for fast development of efficient parallel algorithms. It constitues the core of FermiQCD. MDP enables programmers to focus on algorithms, while parallelization is dealt with…

High Energy Physics - Lattice · Physics 2007-05-23 Massimo Di Pierro