2009 · 20 citations · 21 references
EngineeringAdvanced ComputingComputer ArchitectureFast Sorting AlgorithmHardware SystemsParallel AlgorithmsGpu ComputingHigh-performance ArchitectureComputing SystemsParallel ComputingOrder TheoryGraphics ProcessorsSorting AlgorithmComputer EngineeringComputer ScienceNew AlgorithmComputational ScienceGpu ArchitectureMany-core ArchitectureParallel ProgrammingOrder-sorted Logic
Novel “manycore” architectures, such as graphics processors, are high-parallel and high-performance shared-memory architectures [7] born to solve specific problems such as the graphical ones. Those architectures can be exploited to solve a wider range of problems by designing the related algorithm for such architectures. We present a fast sorting algorithm implementing an efficient bitonic sorting network. This algorithm is highly suitable for information retrieval applications. Sorting is a fundamental and universal problem in computer science. Even if sort has been extensively addressed by many research works, it still remains an interesting challenge to make it faster by exploiting novel technologies. In this light, this paper shows how to use graphics processors as coprocessors to speed up sorting while allowing CPU to perform other tasks. Our new algorithm exploits a memory-efficient data access pattern maintaining the minimum number of accesses to the memory out of the chip. We introduce an efficient instruction dispatch mechanism to improve the overall sorting performance. We also present a cache-based computational model for graphics processors. Experimental results highlight remarkable improvements over prior CPU-based sorting methods, and a significant improvement over previous GPU-based sorting algorithms.
21
Introduction to information retrieval
Choice Reviews Online · 2009 · 12.5K citations
Sorting networks and their applications
Kenneth E. Batcher · 1968 · 2.4K citations
Matteo Frigo, Charles E. Leiserson, Harald Prokop et al. · 2003 · 798 citations