• Cite Icon130
  • https://doi.org/10.1145/2304576.2304621Copy DOI Icon

GPU merge path

  • Jun 25, 2012
  • Oded Green +2 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Graphics Processing Units (GPUs) have become ideal candidates for the development of fine-grain parallel algorithms as the number of processing elements per GPU increases. In addition to the increase in cores per system, new memory hierarchies and increased bandwidth have been developed that allow for significant performance improvement when computation is performed using certain types of memory access patterns.Merging two sorted arrays is a useful primitive and is a basic building block for numerous applications such as joining database queries, merging adjacency lists in graphs, and set intersection. An efficient parallel merging algorithm partitions the sorted input arrays into sets of non-overlapping sub-arrays that can be independently merged on multiple cores. For optimal performance, the partitioning should be done in parallel and should divide the input arrays such that each core receives an equal size of data to merge.In this paper, we present an algorithm that partitions the workload equally amongst the GPU Streaming Multi-processors (SM). Following this, we show how each SM performs a parallel merge and how to divide the work so that all the GPU's Streaming Processors (SP) are utilized. All stages in this algorithm are parallel. The new algorithm demonstrates good utilization of the GPU memory hierarchy. This approach demonstrates an average of 20X and 50X speedup over a sequential merge on the x86 platform for integer and floating point, respectively. Our implementation is 10X faster than the fast parallel merge supplied in the CUDA Thrust library.

Similar Papers
  • Research Article
  • Citations3

Perfectly Load-Balanced, Stable, Synchronization-Free Parallel Merge

  • Mar 01, 2014
  • Parallel Processing Letters
  • Christian Siebert +1
  • Conference Article
  • Citations71

Dynamic Resource Management for Efficient Utilization of Multitasking GPUs

  • Apr 04, 2017
  • Jason Jong Kyu Park +2
  • Conference Article
  • Citations20

Process variation-aware workload partitioning algorithms for GPUs supporting spatial-multitasking

  • Mar 24, 2014
  • Paula Aguilera +5
  • Research Article
  • Citations3

CWLP: coordinated warp scheduling and locality-protected cache allocation on GPUs

  • Feb 01, 2018
  • Frontiers of Information Technology & Electronic Engineering
  • Yang Zhang +3
  • Research Article

Parallel Louvain Community Detection Algorithm Based on Dynamic Thread Assignment on Graphic Processing Unit

  • Jan 01, 2022
  • Journal of Electrical and Computer Engineering Innovations (JECEI)
  • Maryam Mohammadi +2
  • Research Article
  • Citations12

Chimera

  • Mar 14, 2015
  • ACM SIGPLAN Notices
  • Jason Jong Kyu Park +2
  • PDF
  • Research Article

Rubus: A compiler for seamless and extensible parallelism

  • Dec 06, 2017
  • PLOS ONE
  • Muhammad Adnan +3
  • Research Article
  • Citations14

Stream processors: a new platform for Monte Carlo calculations

  • Feb 01, 2008
  • Journal of Physics: Conference Series
  • P Després +3
  • Research Article
  • Citations39

HEVC Encoding Optimization Using Multicore CPUs and GPUs

  • Nov 01, 2015
  • IEEE Transactions on Circuits and Systems for Video Technology
  • Wei Xiao +4
  • Conference Article
  • Citations11

GPU Register Packing: Dynamically Exploiting Narrow-Width Operands to Improve Performance

  • Aug 01, 2017
  • Xin Wang +1
  • Conference Article
  • Citations3

SWIFT-A Performance Accelerated Optimized String Matching Algorithm for Nvidia GPUs

  • Jan 01, 2016
  • Sourabh S Shenoy +2
  • Conference Article
  • Citations12

Solving Very Large Optimization Problems (Up to One Billion Variables) with a Parallel Evolutionary Algorithm in CPU and GPU

  • Nov 01, 2012
  • Santiago Iturriaga +1
  • Research Article
  • Citations289

Fast analysis of molecular dynamics trajectories with graphics processing units—Radial distribution function histogramming

  • Feb 06, 2011
  • Journal of Computational Physics
  • Benjamin G Levine +2
  • Conference Article
  • Citations1

Automatically exploiting the memory hierarchy of GPUs through just-in-time compilation

  • Apr 07, 2021
  • Michail Papadimitriou +3
  • Conference Article
  • Citations110

A performance prediction model for the CUDA GPGPU platform

  • Dec 01, 2009
  • Kishore Kothapalli +5
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.