English
Related papers

Related papers: Optimal Shuffle Code with Permutation Instructions

200 papers

In a compiler, an essential component is the register allocator. Two main algorithms have dominated implementations, graph coloring and linear scan, differing in how live values are modeled. Graph coloring uses an edge in an `interference…

Programming Languages · Computer Science 2020-11-12 Ian Rogers

Racetrack memories (RMs) have significantly evolved since their conception in 2008, making them a serious contender in the field of emerging memory technologies. Despite key technological advancements, the access latency and energy…

Emerging Technologies · Computer Science 2020-01-22 Asif Ali Khan , Fazal Hameed , Robin Blaesing , Stuart Parkin , Jeronimo Castrillon

In this paper we present a random shuffling scheme to apply with adaptive sorting algorithms. Adaptive sorting algorithms utilize the presortedness present in a given sequence. We have probabilistically increased the amount of presortedness…

Data Structures and Algorithms · Computer Science 2016-08-31 Md. Enamul Karim , Abdun Naser Mahmood

Various kinds of applications take advantage of GPUs through automation tools that attempt to automatically exploit the available performance of the GPU's parallel architecture. Directive-based programming models, such as OpenACC, are one…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-01-30 Kazuaki Matsumura , Simon Garcia De Gonzalo , Antonio J. Peña

A central issue of distributed computing systems is how to optimally allocate computing and storage resources and design data shuffling strategies such that the total execution time for computing and data shuffling is minimized. This is…

Information Theory · Computer Science 2021-02-03 Shu-Jie Cao , Lihui Yi , Haoning Chen , Youlong Wu

Many parallel algorithms which solve basic problems in computer science use auxiliary space linear in the input to facilitate conflict-free computation. There has been significant work on improving these parallel algorithms to be in-place,…

Data Structures and Algorithms · Computer Science 2025-03-11 Chase Hutton , Adam Melrod

Consider a permutation $\sigma\in S_n$ as a deck of cards numbered from 1 to $n$ and laid out in a row, where $\sigma_j$ denotes the number of the card that is in the $j$-th position from the left.\rm\ We define two cyclic to random…

Probability · Mathematics 2012-04-11 Ross G. Pinsky

Because loops execute their body many times, compiler developers place much emphasis on their optimization. Nevertheless, in view of highly diverse source code and hardware, compilers still struggle to produce optimal target code. The sheer…

Programming Languages · Computer Science 2021-03-01 Rahim Mammadli , Marija Selakovic , Felix Wolf , Michael Pradel

Permutation codes are a class of structured vector quantizers with a computationally-simple encoding procedure based on sorting the scalar components. Using a codebook comprising several permutation codes as subcodes preserves the…

Information Theory · Computer Science 2015-03-13 Ha Q. Nguyen , Lav R. Varshney , Vivek K Goyal

Linear-time algorithms that are traditionally used to shuffle data on CPUs, such as the method of Fisher-Yates, are not well suited to implementation on GPUs due to inherent sequential dependencies, and existing parallel shuffling…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-02-04 Rory Mitchell , Daniel Stokes , Eibe Frank , Geoffrey Holmes

Modern cyber-physical systems, such as automotive control, rely on feedback controllers that regulate the system towards desired a setpoint. In practice, however, the controller must also be scheduled efficiently on resource-constrained…

Systems and Control · Electrical Eng. & Systems 2026-03-03 Debarpita Banerjee , Debasmita Lohar , Sumana Ghosh

MapReduce is a commonly used framework for executing data-intensive jobs on distributed server clusters. We introduce a variant implementation of MapReduce, namely "Coded MapReduce", to substantially reduce the inter-server communication…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-12-08 Songze Li , Mohammad Ali Maddah-Ali , A. Salman Avestimehr

As the demand for computational power grows, optimizing code through compilers becomes increasingly crucial. In this context, we focus on fully automatic code optimization techniques that automate the process of selecting and applying code…

Programming Languages · Computer Science 2025-11-11 Yacine Hakimi , Riyadh Baghdadi

Message passing programs commonly use buffers to avoid unnecessary synchronizations and to improve performance by overlapping communication with computation. Unfortunately, using buffers makes the program no longer portable, potentially…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Alex Brodsky , Jan B. Pedersen , Alan Wagner

Tensors are a fundamental operation in distributed computing, \emph{e.g.,} machine learning, that are commonly distributed into multiple parallel tasks for large datasets. Stragglers and other failures can severely impact the overall…

Information Theory · Computer Science 2024-10-30 Pedro Soto

We survey permutation-based methods for approximate k-nearest neighbor search. In these methods, every data point is represented by a ranked list of pivots sorted by the distance to this point. Such ranked lists are called permutations. The…

Machine Learning · Computer Science 2016-11-01 Bilegsaikhan Naidan , Leonid Boytsov , Eric Nyberg

Modern platforms are using accelerators in conjunction with standard processing units in order to reduce the running time of specific operations, such as matrix operations, and improve their performance. Scheduling on such hybrid platforms…

Data Structures and Algorithms · Computer Science 2020-02-11 Vincent Fagnon , Imed Kacem , Giorgio Lucarelli , Bertrand Simon

We examine the problem of allocating a given total storage budget in a distributed storage system for maximum reliability. A source has a single data object that is to be coded and stored over a set of storage nodes; it is allowed to store…

Information Theory · Computer Science 2016-11-15 Derek Leong , Alexandros G. Dimakis , Tracey Ho

Consider a game of permutation wordle in which a player attempts to guess a secret permutation of length $n$ in as few guesses as possible. In each round, the guessing player is told which indices of their guessed permutation are correct.…

Combinatorics · Mathematics 2026-03-11 Aurora Hiveley

Two completely new algorithms for generating permutations, shift-cursor algorithm and level algorithm, and their efficient implementations are presented in this paper. One implementation of the shift cursor algorithm gives an optimal…

Data Structures and Algorithms · Computer Science 2007-05-23 Jie Gao , Dianjun Wang