Fact-checked by Grok 2 weeks ago

Sorting network

A sorting network is a fixed sequence of comparator operations that sorts any input of n numbers into non-decreasing order, where each exchanges two values if they are out of order, and the entire sequence of comparisons is predetermined without depending on the input values. These networks are a type of oblivious , often represented as a with n input and output wires connected by comparator gates, and they guarantee correct sorting for all possible inputs due to properties like the zero-one principle, which states that if a network correctly sorts all sequences of 0s and 1s, it sorts all real-number inputs. The performance of a sorting network is measured by its size (total number of comparators) and depth (longest path through the network, indicating parallel time complexity). Sorting networks were first explored in the mid-1950s by researchers including Armstrong, , and O'Connor, who patented early designs for parallel sorting in hardware contexts. Significant advancements came in the with constructions like the odd-even mergesort by Kenneth Batcher, which builds recursive merging networks to achieve sorting in O(\log^2 n) depth using O(n \log^2 n) comparators, making it suitable for parallel architectures. In 1983, Ajtai, Komlós, and Szemerédi introduced a theoretical construction (the AKS network) that sorts in O(\log n) depth with O(n \log n) comparators, matching the information-theoretic lower bound up to constants, though its impractical constants limit real-world use. Beyond theory, sorting networks find applications in parallel computing, multiprocessor systems, and switching networks, where their fixed structure enables efficient hardware implementation with fewer elements than crossbar switches—for instance, requiring approximately (1/4)n (\log_2 n)^2 comparators versus n^2 for a full crossbar. Optimal sorting networks (minimal size for given n) are known exactly for small n up to 16, with ongoing research using techniques like evolutionary algorithms and symmetry exploitation to improve bounds for larger n. Bitonic sorters, a variant based on Batcher's work, are particularly noted for their modularity in sorting powers-of-two inputs efficiently in hardware like GPUs.

Fundamentals

Definition

A sorting network is a fixed architecture composed of a sequence of comparator operations designed to sort any sequence of n inputs into non-decreasing order, regardless of the initial arrangement of the values. These networks are oblivious, meaning the sequence of operations is predetermined and does not depend on the specific input values, making them suitable for parallel processing in hardware or fixed-purpose sorting tasks. Formally, a sorting network can be represented as a with n input wires and n output wires, where the edges correspond to that connect pairs of wires. The inputs enter the network along the input wires from the top, and the values propagate downward through the structure, with each acting on the values currently on its connected wires. A examines the two values it receives and outputs the smaller one to the upper wire and the larger one to the lower wire, effectively swapping them if necessary to maintain order. For illustration, consider a simple sorting network for three inputs on wires labeled 1 (top), 2, and 3 (bottom). It consists of three s arranged in : first, a between wires 1 and 2; second, between wires 2 and 3; and third, between wires 1 and 2 again. This arrangement ensures that, for any input values a, b, c on wires 1, 2, 3 respectively, the outputs will be the sorted values in non-decreasing order from top to bottom.

Comparators

A is the fundamental building block of a sorting network, defined as a binary operation that takes two input values a and b and produces two outputs: the minimum of the two values on one channel and the maximum on the other. This operation ensures that the smaller value is directed to the upper output and the larger to the lower output, regardless of the original order of the inputs. In graphical representations of sorting networks, comparators are typically depicted as two parallel horizontal wires connected by a vertical line or a crossing (often resembling an "X" or a ), indicating the and potential swap between the values on those wires. This emphasizes the fixed connection between specific channels, with arrows or labels sometimes denoting the direction of flow from to outputs. Mathematically, a operating on channels i and j (with i < j) transforms x_i and x_j such that the output on channel i becomes \min(x_i, x_j) and on channel j becomes \max(x_i, x_j). \begin{align*} \text{Output on } i &: \min(x_i, x_j), \\ \text{Output on } j &: \max(x_i, x_j). \end{align*} This notation assumes channels are ordered from top to bottom or left to right, with lower indices corresponding to smaller expected values in the final sorted sequence. Comparators in sorting networks possess key properties that underpin their utility. They are oblivious, meaning the positions and pairings of comparisons are predetermined and independent of the specific input values, enabling parallel execution without data-dependent control flow. Additionally, comparators are idempotent: applying the same comparator twice in succession to the same pair of channels has no effect, as the first application ensures the outputs are already sorted relative to each other, rendering the second redundant.

Key Properties

Size and Depth

In sorting networks, the size refers to the total number of comparators used in the network, which determines the overall computational cost in terms of comparison operations. The depth is defined as the maximum number of comparators along any path from an input wire to an output wire, corresponding to the number of parallel time steps required to complete the sorting process when comparators in each layer operate simultaneously. Early constructions, such as the introduced in 1962, achieved sorting with a size of O(n^2) and a depth of O(n), reflecting the quadratic growth typical of initial recursive insertion-like methods. These parameters highlight the foundational challenges in balancing efficiency, as subsequent developments sought to reduce both metrics asymptotically. A key trade-off exists between size and depth: designs that minimize size often increase depth, and vice versa, due to the constraints of parallel execution. For instance, construction yields networks with size O(n \log^2 n) and depth O(\log^2 n), providing practical improvements over early quadratic bounds while maintaining parallelism. Unlike adaptive comparison-based sorting algorithms, such as or , which dynamically select comparisons based on input data to achieve an average-case complexity of O(n \log n), sorting networks employ a fixed, data-oblivious sequence of comparators that performs the same operations regardless of the input values. This non-adaptive nature ensures predictable parallel performance but may lead to redundant comparisons for certain inputs.

Zero-One Principle

The zero-one principle states that a comparator network is a sorting network—meaning it transforms any input sequence of real numbers into non-decreasing order—if and only if it correctly sorts all $2^n possible binary input sequences consisting of 0s and 1s into non-decreasing order. This equivalence holds because the principle reduces the verification of correctness to a manageable subset of test cases, focusing solely on binary inputs rather than the full set of n! permutations of distinct elements. The proof of the zero-one principle relies on the monotonicity-preserving property of comparator networks. Specifically, each comparator outputs the minimum and maximum of its inputs, which is a monotonically non-decreasing transformation. A key lemma establishes that if a comparator network maps an input sequence a = \langle a_1, a_2, \dots, a_n \rangle to an output sequence b = \langle b_1, b_2, \dots, b_n \rangle, then applying a monotonically increasing function f to the inputs yields f(b) as the output when applied to f(a) = \langle f(a_1), f(a_2), \dots, f(a_n) \rangle. This lemma follows by induction on the network's structure: a single comparator preserves the form due to monotonicity of f (since f(\min(x,y)) = \min(f(x),f(y)) and similarly for \max), and the property extends to the full network. To prove the principle, assume the network sorts all 0-1 sequences but fails on some arbitrary input sequence a where an output position i < j has b_i > b_j. Define f(x) = 0 if x \leq b_j and f(x) = 1 otherwise; this f is monotonically increasing. By the , the network applied to f(a) produces an output where the i-th position is f(b_i) = 1 and the j-th is f(b_j) = 0, contradicting the assumption that all 0-1 sequences are sorted correctly. The converse direction is immediate, as 0-1 sequences are a of arbitrary sequences. This has significant implications for verifying sorting networks, reducing the number of cases to check from n! (all permutations) to $2^n ( combinations), which is exponentially smaller and enables practical computational testing even for moderate n. For example, consider a simple 3-input sorting network consisting of comparators between wires 1-2, then 2-3, then 1-2 again (a basic insertion-like structure with 3 comparators). To verify it using the zero-one , enumerate the 8 inputs: all 0s outputs all 0s; one 1 (in any position) outputs \langle 0,0,1 \rangle; two 1s outputs \langle 0,1,1 \rangle; all 1s outputs all 1s. Checking these confirms the network sorts them correctly, implying it sorts arbitrary 3-element sequences. This network uses 3 comparators, which is optimal for n=3.

Construction Techniques

Batcher's Odd-Even Mergesort

Batcher's odd-even mergesort is a recursive construction for building sorting networks that divides the input into halves, sorts them recursively, and then merges the results using a specialized odd-even merging procedure. This approach enables parallel execution of comparisons, making it suitable for hardware implementations where multiple comparators operate simultaneously. Invented by Kenneth E. Batcher in , it was the first practical method for constructing sorting networks with predictable performance, influencing subsequent parallel sorting designs. The algorithm assumes the input size n = 2^k for some k. To sort n elements, it first recursively sorts the first n/2 elements and the second n/2 elements in parallel, producing two sorted halves. The merging step then combines these halves using an odd-even merger, which itself is recursive. In the odd-even merge for two sorted lists of length m = n/2, the elements are split into odd-indexed positions (1st, 3rd, ..., (2m-1)th from the combined list) and even-indexed positions (2nd, 4th, ..., 2mth). These two subsequences of length m are recursively merged separately to form sorted odd and even outputs. Finally, a single layer of m-1 s connects adjacent positions in the outputs (comparing the 2nd with 3rd, 4th with 5th, etc.), ensuring the full sorted order. The base case for merging two elements is a single . The depth D(n) of the sorting network, representing the number of parallel steps, follows the recurrence D(n) = D(n/2) + M_d(n), where M_d(n) is the depth of the n-element merger, satisfying M_d(n) = M_d(n/2) + 1 with M_d(2) = 1, so M_d(n) = \log_2 n. Solving yields D(n) = O((\log n)^2), specifically \frac{1}{2} k(k+1) for n = 2^k. The total size S(n), or number of comparators, is given by S(n) = 2S(n/2) + M_s(n), where M_s(n) is the size of the n-element merger satisfying M_s(n) = 2M_s(n/2) + (n/2) - 1 with M_s(2) = 1, and S(2) = 1, resulting in S(n) = O(n (\log n)^2). To illustrate for n=8 (where k=3), the network first sorts the halves [positions 1-4] and [5-8] recursively, each requiring depth 3, in parallel (depth 3 total so far). The odd (positions 1,3,5,7) and even (2,4,6,8) are then merged recursively (each depth 2), followed by 3 comparators on pairs (2-3, 4-5, 6-7) in one step, adding depth 3 for a total depth of 6. For an input like [2,7,6,3,9,4,1,8], the halves sort to [2,3,6,7] and [1,4,8,9]; odds merge to [1,2,6,8] and evens to [3,4,7,9]; final comparisons yield [1,2,3,4,6,7,8,9]. This example demonstrates the divide-and-conquer structure, with 19 comparators total for n=8.

Insertion and Bubble Networks

Insertion sorting networks mimic the sequential algorithm by successively building a sorted of the input s. To construct such a for n s, begin with the first as the initial sorted list. For each subsequent i (from 2 to n), insert it into the correct position within the current sorted of i-1 s by adding a chain of comparators that sequentially compare the new with each position in the , swapping as necessary to shift larger s rightward until the insertion point is found. This process requires i-1 comparators for the i-th insertion, resulting in a total size of O(n^2) comparators. However, since the comparisons for each insertion are performed sequentially along the chain, the depth accumulates additively, yielding a depth of O(n^2). Bubble sorting networks, in contrast, are derived from the bubble sort algorithm and employ parallel compare-exchange operations across multiple phases to propagate larger elements toward the end of the list. The construction uses n phases, where each phase consists of simultaneous comparisons of adjacent pairs; in odd-numbered phases, compare positions (1,2), (3,4), ..., and in even-numbered phases, compare (2,3), (4,5), .... This odd-even transposition pattern ensures that misplaced elements "bubble" upward through the network over the phases. The number of active comparators decreases slightly in later phases but remains roughly n/2 per phase on average, leading to a total size of O(n^2) comparators and a depth of O(n). For a concrete example with n=4 inputs labeled a1, a2, a3, a4, the bubble network proceeds as follows:
  • Phase 1 (odd): Compare-swap a1↔a2 and a3↔a4.
  • Phase 2 (even): Compare-swap a2↔a3.
  • Phase 3 (odd): Compare-swap a1↔a2 and a3↔a4.
  • Phase 4 (even): Compare-swap a2↔a3.
This structure, visualized as horizontal wires for inputs/outputs with vertical lines for comparators at the specified positions and phases, guarantees sorting regardless of initial order, as each element can propagate at most n-1 positions in the worst case. These networks offer simplicity in design and ease of implementation, making them valuable for educational purposes and small-scale sorting tasks where logarithmic depth is not critical. However, their linear or depths limit parallelism compared to recursive constructions like odd-even mergesort, which achieve O((\log n)^2) depth at the of greater .

Optimality and Analysis

Optimal Networks

In sorting networks, optimality is defined with respect to either size or depth for a given number of inputs n. A size-optimal sorting network minimizes the total number of comparators, while a depth-optimal sorting network minimizes the number of parallel steps (layers), allowing for maximal parallelism. These criteria are often pursued separately, as a network achieving minimal size may not have minimal depth, and vice versa. For small values of n, optimal sorting networks have been fully characterized through exhaustive computational searches and formal proofs. Size optimality is established for n \leq 12, with the minimal number of comparators given by the sequence A003075 in the OEIS. Depth optimality is proven for n \leq 16. The following table summarizes the known optimal sizes and depths for n \leq 10; values beyond this are best-known upper bounds unless otherwise noted, but all listed depths up to n=10 are optimal.
nOptimal Size (Comparators)Optimal Depth (Layers)
211
333
453
595
6125
7166
8196
9257
10297
For example, the optimal network for n=5 uses 9 comparators arranged in 5 layers, correcting earlier misconceptions of shallower depths. Extending these results, the optimal depth for n=16 is 9 layers, proven using a of filter-based arguments and SAT solving. Size for n=11 and n=12 is 35 and 39 comparators, respectively, verified through branch-and-bound search and in 2020. Asymptotic lower bounds provide fundamental limits on optimality. The size of any sorting network must be at least \lceil \log_2 (n!) \rceil, derived from the information-theoretic requirement that the network distinguish all n! possible input permutations, as each yields at most 1 bit of . This bound is asymptotically \sim n \log_2 n - 1.4427 n. For depth, a lower bound of \lceil \log_2 n \rceil holds, since each layer can at most double the number of possible output positions for any input (via min/max decisions), and requires distinguishing up to n positions. These bounds are tight in the leading term for depth but leave a logarithmic gap for size compared to known constructions like Batcher's odd-even mergesort. Methods for discovering optimal networks rely on computational techniques due to the exponential search space. Early results for small n used exhaustive enumeration, as detailed by Knuth for n \leq 8. Modern approaches employ SAT solvers to model the zero-one principle and verify non-existence of smaller/deeper networks, enabling proofs for larger n. Branch-and-bound algorithms prune infeasible partial networks, with optimizations exploiting symmetries. In the , these methods resolved depth optimality for n=11 to $16 (e.g., depth 9 for n=16) and size for n=9 to $12, with post-2015 advancements including SAT-based improvements for n \leq 20 depths.

Verification Complexity

The verification problem for sorting networks asks whether a given comparator network correctly sorts every possible input of n elements into non-decreasing order. By the zero-one principle, which reduces the check to inputs, it suffices to simulate the network on all $2^n possible 0-1 sequences and confirm that each produces a non-decreasing output; a violation on any such input proves incorrectness. Although this approach runs in time O(2^n \cdot s), where s is the number of s—polynomial in s for fixed n—the general of verifying an arbitrary comparator network is , even for networks of depth close to optimal. This hardness was established by Ian Parberry, who showed the problem remains for depths D(n) + 4 \log n + O(1), where D(n) is the optimal depth. To verify without full enumeration, dynamic programming can track the possible value distributions across wires after each comparator layer, updating subset states to detect if any path leads to an unsorted output; this optimizes over redundant simulations for moderate n. For larger n, where becomes infeasible, the problem is encoded as a Boolean satisfiability (SAT) instance: variables represent wire values, clauses enforce min-max operations and the existence of a 0-1 input yielding an inversion at the output, and unsatisfiability confirms correctness. SAT solvers like MiniSat or Glucose have verified optimality (via exhaustive search and verification) for networks up to n=16, while more advanced solvers enable checks for n up to 20 in practical settings. Recent advances in the 2020s have incorporated for verification challenges, such as using to explore and bound optimal network structures, as in DeepMind's AlphaDev system, which discovered and implicitly verified improved small-scale sorting primitives outperforming prior benchmarks.

Applications and Extensions

Parallel Sorting

Sorting networks are particularly well-suited for environments due to their fixed structure of wires and comparators, which maps directly to implementations. In such mappings, the wires represent paths or channels, akin to individual processors or data lanes, while the depth of the network corresponds to the number of sequential time steps required for execution. Comparators, which perform min-max operations, translate to parallel swap instructions that can be executed simultaneously across multiple data elements in SIMD architectures, enabling without data dependencies between levels. These networks find applications in various parallel contexts, including GPUs where bitonic or odd-even variants support efficient comparison-based as alternatives or hybrids to implementations for large datasets. In VLSI design, sorting networks underpin systolic arrays, which facilitate pipelined processing for high-throughput of arbitrary-sized inputs through modular stages. On supercomputers, such as systems, they enable efficient data distribution and reorganization across nodes by leveraging the network's parallel merging for scalable, low-overhead operations on massive datasets. Performance in these settings is influenced by the network's depth, which directly bounds in multi-core and GPU systems; for instance, Batcher's odd-even mergesort, with its O((\log n)^2) depth, achieves high throughput in implementations by executing comparator stages across warps, outperforming sequential sorts for fixed-size inputs up to several thousand elements. Historically, bitonic networks were realized in VLSI chips for , demonstrating early hardware viability with fixed-depth pipelines. In modern contexts, sorting networks support tensor sorting in pipelines, such as differentiable variants for ranking tasks in neural networks, where comparators accelerate propagation during training.

Variants and Generalizations

Selection networks extend the concept of sorting networks to the task of identifying the k smallest elements from n inputs, rather than fully ordering all elements. These networks employ partial sorters composed of comparators that route the smallest k outputs to designated channels while allowing the remaining elements to pass without full resolution. A key construction achieves a size of O(n log k) comparators, making it more efficient than full sorting when k is much smaller than n. This oblivious top-k selection is particularly useful in secure computation settings, where the network's fixed comparison sequence ensures from inputs. Bitonic sorters represent another variant tailored for inputs of size 2^m, leveraging bitonic sequences—those that increase to a peak and then decrease—to facilitate merging. The recursively builds larger sorters from smaller ones using bitonic mergers, where halves are merged via half-cleaners that compare and route elements appropriately. This yields a depth of O(log² n), suitable for power-of-two sizes, and has been foundational in architectures since its introduction. Generalizations of sorting networks incorporate multi-input comparators, or k-sorters, which compare and route k elements simultaneously, reducing network depth compared to binary comparators. For instance, an enhanced multiway using n-sorters constructs a full sorter for n inputs with fewer stages, achieving depths logarithmic in base k rather than base 2. In applications like , k-way networks sort encrypted with depth O(log_k n), enabling efficient secure sorting by minimizing computational layers. High-speed designs further demonstrate that an 8-way merge sorts 64 inputs in just 9 serial stages, halving the stages of equivalent 2-way networks. Sorting by multiple keys adapts networks for , treating tuples as composite elements where comparators evaluate keys sequentially from most to least significant. This extension preserves the oblivious structure, allowing evaluation across key dimensions without altering the core comparator topology. Reducing networks generalize sorting structures for aggregate computations, such as summing inputs or finding medians, by modifying outputs to compute functions over sorted subsets. Median-finding networks derive from full sorters by extracting the central output channel, enabling efficient statistics computation; for example, a sorting network directly yields the as its (n/2)-th output. Summing variants route elements to accumulators, reducing the network to a with comparator-based selection. In quantum settings, sorting networks inspire theoretical constructions, such as bitonic networks adapted for distributed quantum models, achieving a depth of O(\log^2 n) using quantum comparators. Distributed quantum models further employ bitonic networks for efficient data movement and ordering in multi-qubit environments. Recent advancements explore constant-depth sorting networks using high-arity comparators (k > 2). For example, lower bounds show that for depth d=4, an arity of \Theta(n^{2/3}) is required for exact sorting of n inputs.

References

  1. [1]
    [PDF] Chapter 4 Sorting Networks
    A sorting network is a comparison network such that for any input, the output is monotoni- cally sorted. The size of a sorting network is the number of gates in ...
  2. [2]
    Sorting Networks and the END search algorithm
    An oblivious comparison-based algorithm for sorting n values is called an n-input sorting network (a survey of sorting network research is in [1]).
  3. [3]
    [PDF] Sorting networks and their applications
    A sorting network can be used as a multiple- input, multiple-output switching network. It has the advantages over a normal crossbar of requiring less.
  4. [4]
    [PDF] Sorting Networks
    Mar 2, 2005 · The depth of a comparison network is the maximum depth of an output wire. Definition 1.4 A sorting network is a comparison network such that ...
  5. [5]
    Sorting networks: To the end and back again - ScienceDirect
    This paper reveals new properties of sorting networks that deepen our understanding of how they work and facilitate our search for new results on depth ...
  6. [6]
    [PDF] Towards Simpler Sorting Networks and Monotone Circuits for Majority
    Oct 18, 2023 · The main parameters of a sorting network are the size, that is, the number of comparators, and the depth, that is, the number of layers in the ...
  7. [7]
    [PDF] Optimizing Sorting Algorithms by Using Sorting Networks - IMADA
    Abstract. In this paper, we show how the theory of sorting networks can be applied to synthesize optimized general-purpose sorting libraries.
  8. [8]
    4. Non-Adaptive Sorting: Batcher's Algorithm
    A non-adaptive algorithm for it: one for which there are a fixed set of comparisons; the keys are fed in unsorted, and come out after a predetermined set of ...
  9. [9]
    The Bose-Nelson Sorting Problem - ScienceDirect.com
    This chapter discusses the Bose–Nelson sorting problem. This chapter illustrates a typical sorting network for four numbers; the network involves five ...
  10. [10]
    [PDF] Sorting networks Sorting networks Comparator Wire The zero-one ...
    The zero-one principle. ▫ The zero-one principle says that if a sorting network works correctly when each input is drawn from the set {0,1}, then it works.
  11. [11]
    [PDF] Batcher's Algorithm
    The first step is to arrange odd-even adjacent pairs of keys into ordered pairs. This can be done in one round. (1,2),(3,4),(5,6),... For brevity, we write ...Missing: paper Ken 1968
  12. [12]
    [PDF] Chapter 9 Sorting Networks
    Dec 2, 2021 · Definition 9.2.3. A sorting network is a comparison network such that for any input, the output is monotonically sorted. The size of a sorting ...
  13. [13]
    [PDF] Sorting Networks - TAU
    There are sorting networks of O(logn) depth, and hence O(nlogn) size. The construction is fairly complicated. The constant factors are very large.
  14. [14]
    [PDF] A Taxonomy of Parallel Sorting - Cornell eCommons
    In this paper, we propose a taxonomy of parallel sorting that includes a broad range of array and file sorting algorithms. We analyze the evolution of research ...
  15. [15]
    [1412.5302] Optimal-Depth Sorting Networks - arXiv
    Dec 17, 2014 · In this article, we present a general technique for obtaining such optimality results, and use it to prove the optimality of the remaining open cases of 11 =< ...Missing: size | Show results with:size
  16. [16]
    A003075 - OEIS
    A003075 Minimal number of comparisons needed for n-element sorting network. (Formerly M2446) 6 0, 1, 3, 5, 9, 12, 16, 19, 25, 29,
  17. [17]
  18. [18]
    [PDF] Minimal Depth Sorting Networks
    Mar 10, 2020 · ) is the minimum number of comparators necessary in a primitive sorting network ... an acyclic directed graph that contains the comparators as ...
  19. [19]
    (PDF) Lower bounds for sorting networks. - ResearchGate
    Our result for size is based on a new technique that lower bounds the number of “0-1 collisions” in the network; we provide strong evidence that the technique ...
  20. [20]
    On the Computational Complexity of Optimal Sorting Network ...
    About this paper. Cite this paper. Parberry, I. (1991). On the Computational Complexity of Optimal Sorting Network Verification. In: Aarts, E.H.L., van ...
  21. [21]
    Optimal-depth sorting networks - ScienceDirect.com
    Sorting networks posses symmetry that can be used to generate a few representatives. These representatives can be efficiently encoded using regular expressions.<|separator|>
  22. [22]
    Faster Sorting Networks for 17, 19 and 20 Inputs - ResearchGate
    Oct 10, 2014 · We present new parallel sorting networks for 17 to 20 inputs. For 17 , 19 , 17, 19, and 20 inputs these new networks are faster (i.e., ...Missing: Kissat | Show results with:Kissat
  23. [23]
    Faster sorting algorithms discovered using deep reinforcement ...
    Jun 7, 2023 · AlphaDev discovered small sorting algorithms from scratch that outperformed previously known human benchmarks.
  24. [24]
    [PDF] Using SIMD Registers and Instructions to Enable Instruction-Level ...
    Jun 11, 2007 · The depth of a sorting network is the length of the critical path in its dependence graph. Therefore the depth provides a bound for the parallel ...
  25. [25]
    Chapter 46. Improved GPU Sorting - NVIDIA Developer
    Improved GPU sorting uses the bitonic merge sort algorithm, which builds and merges ascending/descending sequences, to efficiently sort data on the GPU.46.1 Sorting Algorithms · 46.3 Fast Sorting · 46.4 Using All Gpu ResourcesMissing: VLSI supercomputers
  26. [26]
    A systolic architecture for sorting an arbitrary number of elements
    We propose a simple systolic VLSI sorting architecture whose main feature is the pipelined use of a sorting network of fixed I/O size p to sort an arbitrarily ...
  27. [27]
    An Efficient Parallel VLSI Sorting Architecture - Wiley Online Library
    The systolic linear array, the sorting network and the detecting circuit operate concurrently, all in pipelined fashion. With this detecting circuit, the ...
  28. [28]
    Sorting Networks on Maxeler Dataflow Supercomputing Systems
    Sorting networks that execute parallel sorting using the dataflow computational paradigm offer a possible solution for expanding volumes of data.
  29. [29]
    Mergesort - Modern GPU
    Batcher's odd-even mergesort sorts inputs in O(n log2 n time) using only comparisons and swaps. The odd-even transposition sort takes O(n2) comparisons but ...
  30. [30]
    [PDF] MODULAR DESIGN OF HIGH-THROUGHPUT, LOW-LATENCY ...
    The latency of a sorting network is proportional to its depth (the number of consecutive. CAE blocks). Two popular parallel sorting networks that currently have.
  31. [31]
    [PDF] Differentiable Sorting Networks for Scalable Sorting and Ranking ...
    Jul 14, 2021 · Initial attempts to sorting net- works required O(n) layers, each of which requires O(n) operations (examples are bubble and insertion sort ( ...
  32. [32]
    A comparative Study of Sorting Algorithms with FPGA ... - HAL-UPHF
    Therefore, accelerating sorting algorithms using FPGA can be an attractive solution. In this paper, we propose an efficient hardware implementation for ...<|separator|>
  33. [33]
    Adaptive Quantum-Inspired Sorting Algorithm with Entropy-Based ...
    Oct 31, 2025 · This research contributes to adaptive sorting methodologies by bridging quantum-inspired computing and classical sorting, paving the way for ...Missing: FPGA 2020s
  34. [34]
    [PDF] Revisiting Oblivious Top-k Selection with Applications to Secure k ...
    Our network for finding the k smallest elements out of d has time complexity O(d log2 k) and depth O(log d · log k). Proof. For the ease of asymptotic ...
  35. [35]
    [PDF] An Enhanced Multiway Sorting Network Based on n-Sorters - arXiv
    Jul 3, 2014 · A sorting network is a feedforward network, which gives a sorted list for unsorted inputs. It is composed of two items: switching elements (or ...
  36. [36]
    [PDF] Efficient Sorting of Homomorphic Encrypted Data with k-way Sorting ...
    Note that the k-way sorting network used here has two important features in each stage: first, the distance between the input messages for each k-sorter ...
  37. [37]
    (PDF) Design of High-Speed Multiway Merge Sorting Networks ...
    For example, 8-way merge networks fully sort 64 and 512 input values in 9 and 20 serial stages, less than half the number of the respective 2-way networks.
  38. [38]
    [PDF] Minimax Rates and Efficient Algorithms for Noisy Sorting
    Abstract. There has been a recent surge of interest in studying permutation-based models for ranking from pairwise comparison data.
  39. [39]
    [PDF] Sorting Noisy Data with Partial Information
    ABSTRACT. In this paper, we propose two semi-random models for the. Minimum Feedback Arc Set Problem and present approxi- mation algorithms for them.
  40. [40]
    [PDF] Efficient Distributed Quantum Computing - arXiv
    Nov 16, 2012 · In Section 2 we used sorting networks to efficiently move quantum data. We now show that scheduling tasks on a distributed quantum computer ...
  41. [41]
    Sorting quantum systems efficiently | Scientific Reports - Nature
    May 4, 2016 · Here we propose a general scheme to sort a quantum system according to the value of any d-dimensional degree of freedom, such as spin, orbital angular momentum ...
  42. [42]
    [2208.08394] Constant-Depth Sorting Networks - arXiv
    Aug 17, 2022 · In this paper, we address sorting networks that are constructed from comparators of arity k > 2. That is, in our setting the arity of the comparators.Missing: approximate 2020s algorithms
  43. [43]
    [PDF] Constant-Depth Sorting Networks - DROPS
    Abstract. In this paper, we address sorting networks that are constructed from comparators of arity k > 2. I.e., in our setting the arity of the comparators ...<|separator|>