120

Efficient GPU Thread Mapping on Embedded 2D Fractals

Future generations computer systems (FGCS), 2020
Abstract

This work proposes a new approach for mapping GPU threads onto a family of discrete embedded 2D fractals. A block-space map λ:ZE2ZF2\lambda: \mathbb{Z}_{\mathbb{E}}^{2} \mapsto \mathbb{Z}_{\mathbb{F}}^{2} is proposed, from Euclidean parallel space E\mathbb{E} to embedded fractal space F\mathbb{F}, that maps in O(log2log2(n))\mathcal{O}(\log_2 \log_2(n)) time and uses no more than O(nH)\mathcal{O}(n^\mathbb{H}) threads with H\mathbb{H} being the Hausdorff dimension of the fractal, making it parallel space efficient. When compared to a bounding-box (BB) approach, λ(ω)\lambda(\omega) offers a sub-exponential improvement in parallel space and a monotonically increasing speedup nn0n \ge n_0. The Sierpinski gasket fractal is used as a particular case study and the experimental performance results show that λ(ω)\lambda(\omega) reaches up to 9×9\times of speedup over the bounding-box approach. A tensor-core based implementation of λ(ω)\lambda(\omega) is also proposed for modern GPUs, providing up to 40%\sim40\% of extra performance. The results obtained in this work show that doing efficient GPU thread mapping on fractal domains can significantly improve the performance of several applications that work with this type of geometry.

View on arXiv
Comments on this paper