Concurrent Binary Trees (with application to longest edge bisection)

dc.contributor.authorDupuy, Jonathanen_US
dc.contributor.editorYuksel, Cem and Membarth, Richard and Zordan, Victoren_US
dc.date.accessioned2020-10-30T18:18:29Z
dc.date.available2020-10-30T18:18:29Z
dc.date.issued2020
dc.description.abstractWe introduce the concurrent binary tree (CBT), a novel concurrent representation to build and update arbitrary binary trees in parallel. Fundamentally, our representation consists of a binary heap, i.e., a 1D array, that explicitly stores the sum-reduction tree of a bitfield. In this bitfield, each one-valued bit represents a leaf node of the binary tree encoded by the CBT, which we locate algorithmically using a binary-search over the sum-reduction. We show that this construction allows to dispatch down to one thread per leaf node and that, in turn, these threads can safely split and/or remove nodes concurrently via simple bitwise operations over the bitfield. The practical benefit of CBTs lies in their ability to accelerate binary-tree-based algorithms with parallel processors. To support this claim, we leverage our representation to accelerate a longest-edgebisection- based algorithm that computes and renders adaptive geometry for large-scale terrains entirely on the GPU. For this specific algorithm, the CBT accelerates processing speed linearly with the number of processors.en_US
dc.description.number2
dc.description.sectionheadersHardware Architectures and Space Partitioning
dc.description.seriesinformationProceedings of the ACM on Computer Graphics and Interactive Techniques
dc.description.volume3
dc.identifier.doi10.1145/3406186
dc.identifier.issn2577-6193
dc.identifier.urihttps://doi.org/10.1145/3406186
dc.identifier.urihttps://diglib.eg.org:443/handle/10.1145/3406186
dc.publisherACMen_US
dc.subjectComputing methodologies
dc.subjectMassively parallel algorithms
dc.subjectRendering.
dc.subjectbinary tree
dc.subjectconcurrent
dc.subjectparallel
dc.subjectbinary heap
dc.subjectlongest edge bisection
dc.subjectGPU
dc.subjectreal
dc.subjecttime
dc.titleConcurrent Binary Trees (with application to longest edge bisection)en_US
Files