ResearchTrend.AI
  • Papers
  • Communities
  • Events
  • Blog
  • Pricing
Papers
Communities
Social Events
Terms and Conditions
Pricing
Parameter LabParameter LabTwitterGitHubLinkedInBlueskyYoutube

© 2025 ResearchTrend.AI, All rights reserved.

  1. Home
  2. Papers
  3. 2206.02255
36
4

Modeling GPU Dynamic Parallelism for Self Similar Density Workloads

5 June 2022
Felipe A. Quezada
C. Navarro
M. Romero
Cristhian Aguilera
ArXiv (abs)PDFHTML
Abstract

Dynamic Parallelism (DP) is a runtime feature of the GPU programming model that allows GPU threads to execute additional GPU kernels, recursively. Apart from making the programming of parallel hierarchical patterns easier, DP can also speedup problems that exhibit a heterogeneous data layout by focusing, through a subdivision process, the finite GPU resources on the sub-regions that exhibit more parallelism. However, doing an optimal subdivision process is not trivial, as there are different parameters that play an important role in the final performance of DP. Moreover, the current programming abstraction for DP also introduces an overhead that can penalize the final performance. In this work we present a subdivision cost model for problems that exhibit self similar density (SSD) workloads (such as fractals), in order understand what parameters provide the fastest subdivision approach. Also, we introduce a new subdivision implementation, named \textit{Adaptive Serial Kernels} (ASK), as a smaller overhead alternative to CUDA's Dynamic Parallelism. Using the cost model on the Mandelbrot Set as a case study shows that the optimal scheme is to start with an initial subdivision between g=[2,16]g=[2,16]g=[2,16], then keep subdividing in regions of r=2,4r=2,4r=2,4, and stop when regions reach a size of B∼32B \sim 32B∼32. The experimental results agree with the theoretical parameters, confirming the usability of the cost model. In terms of performance, the proposed ASK approach runs up to ∼60%\sim 60\%∼60% faster than Dynamic Parallelism in the Mandelbrot set, and up to 12×12\times12× faster than a basic exhaustive implementation, whereas DP is up to 7.5×7.5\times7.5×.

View on arXiv
Comments on this paper