Regularity versus Load-Balancing on GPU for treefix computations - Archive ouverte HAL Access content directly
Conference Papers Year : 2013

Regularity versus Load-Balancing on GPU for treefix computations


The use of GPUs has enabled us to achieve substantial acceleration in highly regular data parallel applications. The trend is now to look at irregular applications, as it requires advanced load balancing technics. However, it is well known that the use of regular computation is preferable and more suitable when working with these architectures. An alternative to the use of load balancing is to rely on scan and other GPU friendly parallel primitives to build the desired result; however implying in return, the involvement of extra memory storage and computation. This article discusses of both solutions for treefix operations, which consist of applying a certain operation while performing a tree traversal. They can be performed by traversing the tree from top to bottom or from bottom to top, applying the proper operation at each vertex. It can be accelerated using either load balancing which maintains a pool of tasks while performing only the necessary amount of computation or using a vector friendly representation that will involve twice the amount of computation than the first solution. We will explore these two approaches and compare them in terms of performance and accuracy. We will show that the vectorial approach is always faster for any category of trees, but it raises accuracy issues when working with floating-point data.
Fichier principal
Vignette du fichier
treefix.pdf (445.47 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-00768293 , version 1 (21-12-2012)


  • HAL Id : hal-00768293 , version 1


David Defour, Manuel Marin. Regularity versus Load-Balancing on GPU for treefix computations. ICCS: International Conference on Computational Science, Jun 2013, Barcelone, Spain. pp.309-318. ⟨hal-00768293⟩
175 View
122 Download


Gmail Facebook Twitter LinkedIn More