English
Related papers

Related papers: Engineering Shared-Memory Parallel Shuffling to Ge…

200 papers

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

We present an in-place algorithm for the partition problem that has linear work and polylogarithmic span. The algorithm uses only exclusive read/write shared variables, and can be implemented using parallel-for-loops without any additional…

Data Structures and Algorithms · Computer Science 2020-07-10 William Kuszmaul , Alek Westover

We analyze the convergence rate of the random reshuffling (RR) method, which is a randomized first-order incremental algorithm for minimizing a finite sum of convex component functions. RR proceeds in cycles, picking a uniformly random…

Optimization and Control · Mathematics 2022-02-09 Mert Gürbüzbalaban , Asuman Ozdaglar , Pablo Parrilo

Parallel tempering, also known as replica exchange sampling, is an important method for simulating complex systems. In this algorithm simulations are conducted in parallel at a series of temperatures, and the key feature of the algorithm is…

Probability · Mathematics 2012-06-14 Paul Dupuis , Yufei Liu , Nuria Plattner , J. D. Doll

Over the past few years, self-attention is shining in the field of deep learning, especially in the domain of natural language processing(NLP). Its impressive effectiveness, along with ubiquitous implementations, have aroused our interest…

Machine Learning · Computer Science 2020-12-03 Mingfei Yu , Masahiro Fujita

Machine learning algorithms, such as Support Vector Machine (SVM) and Deep Neural Network (DNN), have gained a lot of interests recently. When training a machine learning algorithm, randomly shuffle all the training data can improve the…

Performance · Computer Science 2018-10-11 Zhi-Lin Ke , Hsiang-Yun Cheng , Chia-Lin Yang

Algorithms to generate various combinatorial structures find tremendous importance in computer science. In this paper, we begin by reviewing an algorithm proposed by Rohl that generates all unique permutations of a list of elements which…

Data Structures and Algorithms · Computer Science 2010-10-01 Pramod Ganapathi , Rama B

Modern parallel computing devices, such as the graphics processing unit (GPU), have gained significant traction in scientific and statistical computing. They are particularly well-suited to data-parallel algorithms such as the particle…

Computation · Statistics 2015-06-12 Lawrence M. Murray , Anthony Lee , Pierre E. Jacob

The redundancy of Convolutional neural networks not only depends on weights but also depends on inputs. Shuffling is an efficient operation for mixing channel information but the shuffle order is usually pre-defined. To reduce the…

Computer Vision and Pattern Recognition · Computer Science 2023-10-05 Kaijun Gong , Zhuowen Yin , Yushu Li , Kailing Guo , Xiangmin Xu

We present an algorithm that generates multiset permutations in O(1) time for each permutation, that is, by a loop-less algorithm with O(n) extra memory requirement. There already exist several such algorithms that generate multiset…

Data Structures and Algorithms · Computer Science 2015-02-24 Tadao Takaoka

Quantum sampling, a fundamental subroutine in numerous quantum algorithms, involves encoding a given probability distribution in the amplitudes of a pure state. Given the hefty cost of large-scale quantum storage, we initiate the study of…

Quantum Physics · Physics 2025-06-10 Longyun Chen , Jingcheng Liu , Penghui Yao

Sorting is a fundamental operation in various applications and a traditional research topic in computer science. Improving the performance of sorting operations can have a significant impact on many application domains. For high-performance…

Hardware Architecture · Computer Science 2023-10-13 Amir Hossein Jalilvand , Faeze S. Banitaba , Seyedeh Newsha Estiri , Sercan Aygun , M. Hassan Najafi

We consider the data shuffling problem in a distributed learning system, in which a master node is connected to a set of worker nodes, via a shared link, in order to communicate a set of files to the worker nodes. The master node has access…

Information Theory · Computer Science 2020-06-24 Adel Elmahdy , Soheil Mohajer

signSGD is popular in nonconvex optimization due to its communication efficiency. Yet, existing analyses typically assume data are sampled with replacement in each iteration, contradicting a common practical implementation where data are…

Machine Learning · Computer Science 2026-01-09 Zhen Qin , Zhishuai Liu , Pan Xu

We assume the permutation $\pi$ is given by an $n$-element array in which the $i$-th element denotes the value $\pi(i)$. Constructing its inverse in-place (i.e. using $O(\log{n})$ bits of additional memory) can be achieved in linear time…

Data Structures and Algorithms · Computer Science 2020-04-22 Grzegorz Guśpiel

Sorting is a fundamental operation of all computer systems, having been a long-standing significant research topic. Beyond the problem formulation of traditional sorting algorithms, we consider sorting problems for more abstract yet…

Machine Learning · Computer Science 2024-03-15 Jungtaek Kim , Jeongbeen Yoon , Minsu Cho

Attention is a commonly used mechanism in sequence processing, but it is of O(n^2) complexity which prevents its application to long sequences. The recently introduced neural Shuffle-Exchange network offers a computation-efficient…

Machine Learning · Computer Science 2021-01-18 Andis Draguns , Emīls Ozoliņš , Agris Šostaks , Matīss Apinis , Kārlis Freivalds

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

We present a sorting algorithm that works in-place, executes in parallel, is cache-efficient, avoids branch-mispredictions, and performs work O(n log n) for arbitrary inputs with high probability. The main algorithmic contributions are new…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-07-03 Michael Axtmann , Sascha Witt , Daniel Ferizovic , Peter Sanders

Numerical simulations are ubiquitous in science and engineering. Machine learning for science investigates how artificial neural architectures can learn from these simulations to speed up scientific discovery and engineering processes. Most…

Artificial Intelligence · Computer Science 2022-12-12 Lucas Meyer , Alejandro Ribés , Bruno Raffin