A simple method for rejection sampling efficiency improvement on SIMT architectures
Author(s)
Ridley, Gavin; Forget, Benoit
Download11222_2021_10003_ReferencePDF.pdf (522.4Kb)
Open Access Policy
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
Abstract
We derive a probability distribution for the possible number of iterations required for a SIMT (single instruction multiple thread) program using rejection sampling to finish creating a sample across all threads. This distribution is found to match a recently proposed distribution from Chakraborty and Gupta (in: Communications in statistics: theory and methods, 2015) that was shown as a good approximation of certain datasets. This work demonstrates an exact application of this distribution. The distribution can be used to evaluate the relative merit of some sampling methods on the GPU without resort to numerical tests. The distribution reduces to the expected geometric distribution in the single thread per warp limit. A simplified formula to approximate the expected number of iterations required to obtain rejection iteration samples is provided. With this new result, a simple, efficient layout for assigning sampling tasks to threads on a GPU is found as a function of the rejection probability without recourse to more complicated rejection sampling methods.
Date issued
2021-03-30Department
Massachusetts Institute of Technology. Department of Nuclear Science and EngineeringPublisher
Springer US
Citation
Statistics and Computing. 2021 Mar 30;31(3):30
Version: Author's final manuscript