Publication | Closed Access
Fast <it>k</it>-selection algorithms for graphics processing units
44
Citations
11
References
2012
Year
EngineeringGpu BenchmarkingComputer ArchitectureComputational ComplexityHigh Performance Computing-Selection AlgorithmsGpu ComputingSorted ListLength 2Visual ComputingParallel ComputingCombinatorial OptimizationSorting AlgorithmComputer EngineeringComputer ScienceGpu ClusterComputational ScienceGpu ArchitectureParallel ProgrammingGpu Algorithms
Finding the <it>k</it>th-largest value in a list of <it>n</it> values is a well-studied problem for which many algorithms have been proposed. A naïve approach is to sort the list and then simply select the <it>k</it>th term in the sorted list. However, when the sorted list is not needed, this method does quite a bit of unnecessary work. Although sorting can be accomplished efficiently when working with a graphics processing unit (GPU), this article proposes two GPU algorithms, <tt>radixSelect</tt> and <tt>bucketSelect</tt>, which are several times faster than sorting the vector. As the problem size grows so does the time savings of these algorithms with a sixfold speed-up over GPU sorting for float vectors larger than 2 24 and for double vectors larger than 2 20 , ultimately reaching a 19.1 times speed-up for double vectors of length 2 28 .
| Year | Citations | |
|---|---|---|
Page 1
Page 1