Spectral turning bands for efficient Gaussian random fields generation on GPUs and accelerators

A random field (RF) is a set of correlated random variables associated with different spatial locations. RF generation algorithms are of crucial importance for many scientific areas, such as astrophysics, geostatistics, computer graphics, and many others. Current approaches commonly make use of 3D fast Fourier transform (FFT), which does not scale well for RF bigger than the available memory; they are also limited to regular rectilinear meshes.

[1]  Steven G. Johnson,et al.  The Design and Implementation of FFTW3 , 2005, Proceedings of the IEEE.

[2]  J. Peacock,et al.  Simulations of the formation, evolution and clustering of galaxies and quasars , 2005, Nature.

[3]  G. Matheron The intrinsic random functions and their applications , 1973, Advances in Applied Probability.

[4]  R. Ababou,et al.  Implementation of the three‐dimensional turning bands random field generator , 1989 .

[5]  Naga K. Govindaraju,et al.  High performance discrete Fourier transforms on graphics processors , 2008, 2008 SC - International Conference for High Performance Computing, Networking, Storage and Analysis.

[6]  Todd Walter,et al.  Discrete simulation of power law noise (for oscillator stability evaluation) , 1992, Proceedings of the 1992 IEEE Frequency Control Symposium.

[7]  James M. Stone Interstellar Turbulence: Direct Numerical Simulations of Compressible Magnetohydrodynamical Turbulence , 1999 .

[8]  E. Harrison,et al.  Fluctuations at the threshold of classical cosmology , 1970 .

[9]  V. Springel E pur si muove: Galilean-invariant cosmological hydrodynamical simulations on a moving mesh , 2009, 0901.4107.

[10]  C. R. Dietrich,et al.  Fast and Exact Simulation of Stationary Gaussian Processes through Circulant Embedding of the Covariance Matrix , 1997, SIAM J. Sci. Comput..

[11]  Yi Yang,et al.  A GPGPU compiler for memory optimization and parallelism management , 2010, PLDI '10.

[12]  Michael Wolfe,et al.  More iteration space tiling , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

[13]  Aristotelis Mantoglou,et al.  Digital simulation of multivariate two- and three-dimensional stochastic processes with a spectral turning bands method , 1987, Mathematical Geology.

[14]  Satoshi Matsuoka,et al.  Auto-tuning 3-D FFT library for CUDA GPUs , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

[15]  J. Chilès,et al.  Geostatistics: Modeling Spatial Uncertainty , 1999 .

[16]  Vivek Sarkar Optimized Unrolling of Nested Loops , 2004, International Journal of Parallel Programming.

[17]  Thomas Fahringer,et al.  A multi-objective auto-tuning framework for parallel codes , 2012, 2012 International Conference for High Performance Computing, Networking, Storage and Analysis.

[18]  P. Sadayappan,et al.  Optimal loop unrolling for GPGPU programs , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[19]  Thomas Fahringer,et al.  Random Fields Generation on the GPU with the Spectral Turning Bands Method , 2014, Euro-Par.

[20]  Thomas Fahringer,et al.  An automatic input-sensitive approach for heterogeneous task partitioning , 2013, ICS '13.

[21]  S. Engelberg Random Signals and Noise , 2006 .

[22]  Thomas Fahringer,et al.  LibWater: heterogeneous distributed computing made easy , 2013, ICS '13.

[23]  Thomas Fahringer,et al.  Kd-Tree Based N-Body Simulations with Volume-Mass Heuristic on the GPU , 2014, 2014 IEEE International Parallel & Distributed Processing Symposium Workshops.

[24]  Christian Lantuéjoul,et al.  TBSIM: A computer program for conditional simulation of three-dimensional Gaussian random fields via the turning bands method , 2006, Comput. Geosci..

[25]  Todd Walter,et al.  DISCRETE SIMULATION OF POWER LAW NOISE , 1992 .

[26]  Yifeng Chen,et al.  Large-scale FFT on GPU clusters , 2010, ICS '10.

[27]  M. Carrettoni,et al.  Generation of noise time series with arbitrary power spectrum , 2010, Comput. Phys. Commun..