AlgorandSIMULATION v1.0
Sequential Engines(17)
Parallel Engines

Bitonic Sort

parallelHypercube

A parallel comparison-based sorting network that constructs and sorts bitonic sequences (sequences that increase then decrease). Designed to run efficiently on Hypercubes or parallel GPUs.

SIMULATION STEP PROGRESSStep 1 / 1
SPEED (50%)
SIZE (16)
💡 Tip: Bitonic Sort requires exactly 16 values (numbers 1-99) to map to the 16 nodes of the Tesseract.
Code Workspace
1procedure BitonicSort(A: array of size N, power of 2)
2 for k := 2 to N, double each step do
3 for j := k/2 down to 1, half each step do
4 for each processor P_i where i < N in parallel do
5 ixj := i XOR j
6 if ixj > i then
7 ascending := ((i AND k) == 0)
8 if (ascending and A[i] > A[ixj]) or (not ascending and A[i] < A[ixj]) then
9 swap(A[i], A[ixj])
10 end if
11 end if
12 end parallel-for
13 barrier()
14 end for
15 end for
16end procedure
Currently highlights executing branch
RUNTIME COST METRICS
Comparisons0
Memory Writes0
Memory Reads0
Elements Swapped0
Core Capacity:8 Cores
Total Work Done:5 operations
Critical Path Span:2 levels
Observed Speedup:2.5x
Efficiency Bound:31%
PROCESSOR ALLOCATION EFFICIENCY
THEORETICAL ANALYSIS & RESEARCH

Conceptual Focus: A parallel comparison-based sorting network that constructs and sorts bitonic sequences (sequences that increase then decrease). Designed to run efficiently on Hypercubes or parallel GPUs.

Real-world Industrial Applications:
  • CUDA-based GPU sorting primitives
  • Network routing switches for sorting packets