Normal (Gaussian) random variables for supercomputers

Remarkably fest methods for generating normal and exponential random variables have been developed for conventional computers-their average times are little more than that needed to generate the uniform variable used to produce the result. But for “supercomputers,” with vector and/or parallel operations, and particularly for massively parallel machines with hundreds or thousands of processors, average times are not the proper measure of the speed of a generating procedure. For them, the worst case applies: The next step in a simulation cannot begin until all of the processors have generated their particular normal (or exponential, gamma, Poisson, and such) variable. So, for such new or anticipated (SIMD) architectures we must consider efficient constant-time methods for generating the important random variables of Monte Carlo studies. We describe one here, for normal (Gaussian) random variables. It is, in effect, a very fast method for inverting the normal distribution function.