English
Related papers

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

200 papers

Multi-core machines are ubiquitous. However, most inductive logic programming (ILP) approaches use only a single core, which severely limits their scalability. To address this limitation, we introduce parallel techniques based on…

Artificial Intelligence · Computer Science 2021-09-16 Andrew Cropper , Oghenejokpeme Orhobor , Cristian Dinu , Rolf Morel

Compound AI applications, which compose calls to ML models using a general-purpose programming language like Python, are widely used for a variety of user-facing tasks, from software engineering to enterprise automation, making their…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-05-19 Stephen Mell , David Mell , Konstantinos Kallas , Steve Zdancewic , Osbert Bastani

Parallel computing is a standard approach to achieving high-performance computing (HPC). Three commonly used methods to implement parallel computing include: 1) applying multithreading technology on single-core or multi-core CPUs; 2)…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-09-18 Xinyao Yi

OCaml is an industrial-strength, multi-paradigm programming language, widely used in industry and academia. OCaml is also one of the few modern managed system programming languages to lack support for shared memory parallel programming.…

Programming Languages · Computer Science 2020-07-03 KC Sivaramakrishnan , Stephen Dolan , Leo White , Sadiq Jaffer , Tom Kelly , Anmol Sahoo , Sudha Parimala , Atul Dhiman , Anil Madhavapeddy

Probing in mixed-integer programming (MIP) is a technique of temporarily fixing variables to discover implications that are useful to branch-and-cut solvers. Such fixing is typically performed one variable at a time -- this paper develops…

Optimization and Control · Mathematics 2025-11-11 Yongzheng Dai , Chen Chen

We introduce Diffuse, a system that dynamically performs task and kernel fusion in distributed, task-based runtime systems. The key component of Diffuse is an intermediate representation of distributed computation that enables the necessary…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-12-17 Rohan Yadav , Shiv Sundram , Wonchan Lee , Michael Garland , Michael Bauer , Alex Aiken , Fredrik Kjolstad

We address the problem of analysing the complexity of concurrent programs written in Pi-calculus. We are interested in parallel complexity, or span, understood as the execution time in a model with maximal parallelism. A type system for…

Computational Complexity · Computer Science 2021-10-20 Patrick Baillot , Alexis Ghyselen , Naoki Kobayashi

Modern out-of-order processors have increased capacity to exploit instruction level parallelism (ILP) and memory level parallelism (MLP), e.g., by using wide superscalar pipelines and vector execution units, as well as deep buffers for…

Programming Languages · Computer Science 2018-07-05 Vladimir Kiriansky , Haoran Xu , Martin Rinard , Saman Amarasinghe

The aim of this work is to define and implement an extended C++ language to support the SIMD programming paradigm. The C++ programming language has been extended to express all the potentiality of an abstract SIMD machine consisting of a…

Programming Languages · Computer Science 2007-05-23 Alessandro Lonardo , Emanuele Panizzi , Benedetto Proietti

Polymorphism in programming languages enables code reuse. Here, we show that polymorphism has broad applicability far beyond computations for technical computing: parallelism in distributed computing, presentation of visualizations of…

Programming Languages · Computer Science 2014-11-07 Jiahao Chen , Alan Edelman

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

Optimizing programs to run efficiently on modern parallel hardware is hard but crucial for many applications. The predominantly used imperative languages - like C or OpenCL - force the programmer to intertwine the code describing…

Programming Languages · Computer Science 2020-02-07 Bastian Hagedorn , Johannes Lenfers , Thomas Koehler , Sergei Gorlatch , Michel Steuwer

Matrix languages, including MATLAB and Octave, are established standards for applications in science and engineering. They provide interactive programming environments that are easy to use due to their scripting languages with matrix data…

Programming Languages · Computer Science 2009-11-15 Raymes Khoury , Bernd Burgstaller , Bernhard Scholz

Intermittently powered devices enable new applications in harsh or inaccessible environments, such as space or in-body implants, but also introduce problems in programmability and correctness. Researchers have developed programming models…

Programming Languages · Computer Science 2021-06-29 Milijana Surbatovich , Limin Jia , Brandon Lucia

Parallelism is often required for performance. In these situations an excess of non-determinism is harmful as it means the program can have several different behaviours or even different results. Even in domains such as high-performance…

Programming Languages · Computer Science 2022-10-28 Laure Gonnord , Ludovic Henrio , Lionel Morel , Gabriel Radanne

Consensus is an often occurring problem in concurrent and distributed programming. We present a programming language with simple semantics and build-in support for consensus in the form of communicating transactions. We motivate the need…

Programming Languages · Computer Science 2013-05-08 Carlo Spaccasassi , Vasileios Koutavas

Parallel programming remains a daunting challenge, from the struggle to express a parallel algorithm without cluttering the underlying synchronous logic, to describing which devices to employ in a calculation, to correctness. Over the…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-08-10 Patrick Diehl , Steven R. Brandt , Hartmut Kaiser

High-performance DSL developers work hard to take advantage of modern hardware. The DSL compilers have to build their own complex middle-ends before they can target a common back-end such as LLVM, which only handles single instruction…

Programming Languages · Computer Science 2018-05-30 Riyadh Baghdadi , Jessica Ray , Malek Ben Romdhane , Emanuele Del Sozzo , Patricia Suriana , Shoaib Kamil , Saman Amarasinghe

For validating low level embedded software, engineers use simulators that take the real binary as input. Like the real hardware, these full-system simulators are organized as a set of components. The main component is the CPU simulator…

Software Engineering · Computer Science 2011-09-21 Frédéric Blanqui , Claude Helmstetter , Vania Joloboff , Jean-François Monin , Xiaomu Shi

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
‹ Prev 1 3 4 5 6 7 10 Next ›