13 papers · ranked by Valyu relevance
Bérenger Bramas
The way developers implement their algorithms and how these implementations behave on modern CPUs are governed by the design and organization of these. The vectorization units (SIMD) are among the few CPUs' parts that can and must be explicitly controlled. In the HPC community, the x86 CPUs and their vectorization…
Tianyi Yu, Wei Li
Sorting is one of the most fundamental problems in the field of computer science.Withtherapid development of manycore processors, it shows great importance to designefficientparallelsortalgorithm on manycore architecture. This paper studies the parallel memory sortingmethodonmodernhardware, and summarizes its research…
Daniel Bascones, Borja Morcillo
—Sorting is one of the fundamental problems in computer science. Playing a role in many processes, it has a lower complexity bound imposed by O(n log n) when executing on a sequential machine. This limit can be brought down to sublinear times thanks to parallelization techniques that increase the number of comparisons…
Tomoyuki Tokuue, Tomoaki Ishiyama
Sorting is one of the most basic algorithms, and developing highly parallel sorting programs is becoming increasingly important in high-performance computing because the number of CPU cores per node in modern supercomputers tends to increase. In this study, we have implemented two multi-threaded sorting algorithms…
Shashank Raj, Kalyanmoy Deb
In today's era of big data, sorting enormous datasets is a major challenge. We present EvoSort, an adaptive parallel sorting framework that employs a Genetic Algorithm (GA) to automatically discover and refine critical parameters, including insertion sort and fallback thresholds, tile size, and mergesort vs Least…
Robert Clausecker, Florian Schintke
We present Radsort, a variant of LSD radix sort, sorting data with $\mathcal O(\sqrt n)$ additional space. Radsort is stable, admits a simple implementation and is easy to parallelise. For arrays exceeding a size of around 2 MiB it outperforms a conventional out-of-place LSD radix sort.
Xiaojun Dong, Laxman Dhulipala, Yan Gu, Yihan Sun
Integer sorting is a fundamental problem in computer science. This paper studies parallel integer sort both in theory and in practice. In theory, we show tighter bounds for a class of existing practical integer sort algorithms, which provides a solid theoretical foundation for their widespread usage in practice and…
Wentao Yang, Vipul Harsh, Edgar Solomonik
State-of-the-art parallel sorting algorithms for distributed-memory architectures are based on computing a balanced partitioning via sampling and histogramming. By finding samples that partition the sorted keys into evenly-sized chunks, these algorithms minimize the number of communication rounds required.…
Ani Kristo, Tim Kraska
External sorting is at the core of many operations in large-scale database systems, such as ordering and aggregation queries for large result sets, building indexes, sort-merge joins, duplicate removal, sharding, and record clustering. Unlike in-memory sorting, these algorithms need to work together with the OS and the…
Ivan Carvalho, Ramon Lawrence
This work analyzes and parallelizes LearnedSort, the novel algorithm that sorts using machine learning models based on the cumulative distribution function. LearnedSort is analyzed under the lens of algorithms with predictions, and it is argued that LearnedSort is a learning-augmented SampleSort. A parallel LearnedSort…
Ivan Carvalho
We introduce a new sorting algorithm that is the combination of MLenhanced sorting with the In-place Super Scalar Sample Sort (IPS4 o). The main contribution of our work is to achieve parallel ML-enhanced sorting, as previous algorithms were limited to sequential implementations. We introduce the In-Place Parallel…
Jesper Larsson Träff
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 Computing, parallel algorithms and shared-memory multiprocessor programming. They…
Sam Olesker-Taylor
| 1 | Introduction | 1 | | --- | --- | --- | | 2 | Outline | 7 | | 3 | Reduction | 9 | | 4 | Uniform Sorter | 10 | | 5 | Harmonic Sorter | 11 | | A | Appendix | 19 |