English
Related papers

Related papers: Getting to the Point. Index Sets and Parallelism-P…

200 papers

We study the data-parallel language BUTF, inspired by the Futhark language for array programming. We give a translation of BUTF into a version of the pi-calculus with broadcasting and labeled names. The translation is both complete and…

Programming Languages · Computer Science 2024-11-25 Hans Hüttel , Lars Jensen , Chris Oliver Paulsen , Julian Teule

Merging two sorted arrays is a prominent building block for sorting and other functions. Its efficient parallelization requires balancing the load among compute cores, minimizing the extra work brought about by parallelization, and…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-06-23 Oded Green , Saher Odeh , Yitzhak Birk

Fine-tuning is the de facto way to leverage large pretrained language models to perform downstream tasks. However, it modifies all the language model parameters and therefore necessitates storing a full copy for each task. In this paper, we…

Computation and Language · Computer Science 2021-01-05 Xiang Lisa Li , Percy Liang

Context: Reynolds showed us how to use continuation-passing style and defunctionalization to transform a recursive interpreter for a language into an abstract machine for programs in that language. The same techniques explain other…

Programming Languages · Computer Science 2021-11-23 Jeremy Gibbons

We have implemented an optimization that specializes type-generic array accesses after inlining of polymorphic functions in the native-code OCaml compiler. Polymorphic array operations (read and write) in OCaml require runtime type dispatch…

Programming Languages · Computer Science 2017-02-09 Ryohei Tokuda , Eijiro Sumii , Akinori Abe

Linear algebra computations are foundational for neural networks and machine learning, often handled through arrays. While many functional programming languages feature lists and recursion, arrays in linear algebra demand constant-time…

Programming Languages · Computer Science 2024-05-29 David Richter , Timon Böhler , Pascal Weisenburger , Mira Mezini

Array-intensive programs are often amenable to parallelization across many cores on a single machine as well as scaling across multiple machines and hence are well explored, especially in the domain of high-performance computing. These…

Programming Languages · Computer Science 2019-05-23 Kunal Banerjee , Chandan Karfa

Over the past years, semantic segmentation, as many other tasks in computer vision, benefited from the progress in deep neural networks, resulting in significantly improved performance. However, deep architectures trained with…

Computer Vision and Pattern Recognition · Computer Science 2022-02-02 Guanglei Yang , Enrico Fini , Dan Xu , Paolo Rota , Mingli Ding , Hao Tang , Xavier Alameda-Pineda , Elisa Ricci

Recent work showed that compiling functional programs to use dense, serialized memory representations for recursive algebraic datatypes can yield significant constant-factor speedups for sequential programs. But serializing data in a…

Programming Languages · Computer Science 2021-07-02 Chaitanya Koparkar , Mike Rainey , Michael Vollmer , Milind Kulkarni , Ryan R. Newton

There are billions of lines of sequential code inside nowadays' software which do not benefit from the parallelism available in modern multicore architectures. Automatically parallelizing sequential code, to promote an efficient use of the…

Programming Languages · Computer Science 2016-04-13 Alcides Fonseca , Bruno Cabral , João Rafael , Ivo Correia

We introduce process-oriented programming as a natural extension of object-oriented programming for parallel computing. It is based on the observation that every class of an object-oriented language can be instantiated as a process,…

Programming Languages · Computer Science 2014-07-22 Edward Givelberg

Serial pattern mining consists in extracting the frequent sequential patterns from a unique sequence of itemsets. This paper explores the ability of a declarative language, such as Answer Set Programming (ASP), to solve this issue…

Artificial Intelligence · Computer Science 2014-09-30 Thomas Guyet , Yves Moinard , René Quiniou

Harnessing parallelism in seemingly sequential models is a central challenge for modern machine learning. Several approaches have been proposed for evaluating sequential processes in parallel using iterative fixed-point methods, like…

We introduce a unified framework for iterative reasoning that leverages non-Euclidean geometry via Bregman divergences, higher-order operator averaging, and adaptive feedback mechanisms. Our analysis establishes that, under mild smoothness…

Machine Learning · Computer Science 2025-02-07 Jacob Fein-Ashley

Arrays are such a rich and fundamental data type that they tend to be built into a language, either in the compiler or in a large low-level library. Defining this functionality at the user level instead provides greater flexibility for…

Programming Languages · Computer Science 2014-07-16 Jeff Bezanson , Jiahao Chen , Stefan Karpinski , Viral Shah , Alan Edelman

With distributed computing and mobile applications, synchronizing diverging replicas of data structures is a more and more common problem. We use algebraic methods to reason about filesystem operations, and introduce a simplified definition…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-24 Elod Pal Csirmaz

Asynchronous programming is widely adopted for building responsive and efficient software, and modern languages such as C# provide async/await primitives to simplify the use of asynchrony. In this paper, we propose an approach for…

Programming Languages · Computer Science 2022-09-15 Sidi Mohamed Beillahi , Ahmed Bouajjani , Constantin Enea , Shuvendu Lahiri

A long-standing shortcoming of statically typed functional languages is that type checking does not rule out pattern-matching failures (run-time match exceptions). Refinement types distinguish different values of datatypes; if a program…

Programming Languages · Computer Science 2020-09-22 Khurram A. Jafery , Jana Dunfield

Pattern matching is a powerful tool which is part of many functional programming languages as well as computer algebra systems such as Mathematica. Among the existing systems, Mathematica offers the most expressive pattern matching.…

Symbolic Computation · Computer Science 2017-05-03 Manuel Krebber

Exemplar-free class-incremental learning is very challenging due to the negative effect of catastrophic forgetting. A balance between stability and plasticity of the incremental process is needed in order to obtain good accuracy for past as…

Computer Vision and Pattern Recognition · Computer Science 2023-11-29 Grégoire Petit , Adrian Popescu , Hugo Schindler , David Picard , Bertrand Delezoide