Efficient parallel random sampling-vectorized, cache-efficient, and online

From MaRDI portal




Abstract: We consider the problem of sampling n numbers from the range 1,ldots,N without replacement on modern architectures. The main result is a simple divide-and-conquer scheme that makes sequential algorithms more cache efficient and leads to a parallel algorithm running in expected time mathcalO(n/p+logp) on p processors, i.e., scales to massively parallel machines even for moderate values of n. The amount of communication between the processors is very small (at most mathcalO(logp)) and independent of the sample size. We also discuss modifications needed for load balancing, online sampling, sampling with replacement, Bernoulli sampling, and vectorization on SIMD units or GPUs.











This page was built for publication: Efficient parallel random sampling-vectorized, cache-efficient, and online

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q4581396)