English

Using Butterfly-Patterned Partial Sums to Optimize GPU Memory Accesses for Drawing from Discrete Distributions

Distributed, Parallel, and Cluster Computing 2015-05-15 v1

Abstract

We describe a technique for drawing values from discrete distributions, such as sampling from the random variables of a mixture model, that avoids computing a complete table of partial sums of the relative probabilities. A table of alternate ("butterfly-patterned") form is faster to compute, making better use of coalesced memory accesses. From this table, complete partial sums are computed on the fly during a binary search. Measurements using an NVIDIA Titan Black GPU show that for a sufficiently large number of clusters or topics (K > 200), this technique alone more than doubles the speed of a latent Dirichlet allocation (LDA) application already highly tuned for GPU execution.

Keywords

Cite

@article{arxiv.1505.03851,
  title  = {Using Butterfly-Patterned Partial Sums to Optimize GPU Memory Accesses for Drawing from Discrete Distributions},
  author = {Guy L. Steele and Jean-Baptiste Tristan},
  journal= {arXiv preprint arXiv:1505.03851},
  year   = {2015}
}

Comments

11 pages

R2 v1 2026-06-22T09:34:30.167Z