Parallel computation techniques for virtual acoustics and physical modelling synthesis

The numerical simulation of large-scale virtual acoustics and physical modelling synthesis is a computationally expensive process. Time stepping methods, such as finite difference time domain, can be used to simulate wave behaviour in models of three-dimensional room acoustics and virtual instruments. In the absence of any form of simplifying assumptions, and at high audio sample rates, this can lead to simulations that require many hours of computation on a standard Central Processing Unit (CPU). In recent years the video game industry has driven the development of Graphics Processing Units (GPUs) that are now capable of multi-teraflop performance using highly parallel architectures. Whilst these devices are primarily designed for graphics calculations, they can also be used for general purpose computing. This thesis explores the use of such hardware to accelerate simulations of three-dimensional acoustic wave propagation, and embedded systems that create physical models for the synthesis of sound. Test case simulations of virtual acoustics are used to compare the performance of workstation CPUs to that of Nvidia’s Tesla GPU hardware. Using representative multicore CPU benchmarks, such simulations can be accelerated in the order of 5X for single precision and 3X for double precision floating-point arithmetic. Optimisation strategies are examined for maximising GPU performance when using single devices, as well as for multiple device codes that can compute simulations using billions of grid points. This allows the simulation of room models of several thousand cubic metres at audio rates such as 44.1kHz, all within a useable time scale. The performance of alternative finite difference schemes is explored, as well as strategies for the efficient implementation of boundary conditions. Creating physical models of acoustic instruments requires embedded systems that often rely on sparse linear algebra operations. The performance efficiency of various sparse matrix storage formats is detailed in terms of the fundamental operations that are required to compute complex models, with an optimised storage system achieving substantial performance gains over more generalised formats. An integrated instrument model of the timpani drum is used to demonstrate the performance gains that are possible using the optimisation strategies developed through this thesis.

[1]  J. Bérenger Three-Dimensional Perfectly Matched Layer for the Absorption of Electromagnetic Waves , 1996 .

[2]  Maic Masuch,et al.  RAY ACOUSTICS USING COMPUTER GRAPHICS TECHNOLOGY , 2007 .

[3]  I. A. Drumm The application of adaptive beam tracing and managed DirectX for the visualisation and auralisation of virtual environments , 2005, Ninth International Conference on Information Visualisation (IV'05).

[4]  Stefan Bilbao,et al.  Computing room acoustics with CUDA - 3D FDTD schemes with boundary losses and viscosity , 2011, 2011 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

[5]  Yousef Saad,et al.  GPU-accelerated preconditioned iterative linear solvers , 2013, The Journal of Supercomputing.

[6]  Stefan Bilbao,et al.  A family of conservative finite difference schemes for the dynamical von Karman plate equations , 2008 .

[7]  D. Botteldooren Finite‐difference time‐domain simulation of low‐frequency room acoustic problems , 1995 .

[8]  Dominik Grewe,et al.  Automatically generating and tuning GPU code for sparse matrix-vector multiplication from a high-level representation , 2011, GPGPU-4.

[9]  Yousef Saad,et al.  Iterative methods for sparse linear systems , 2003 .

[10]  David R. Butenhof Programming with POSIX threads , 1993 .

[11]  Julius O. Smith,et al.  Finite difference schemes and digital waveguide networks for the wave equation: stability, passivity, and numerical dispersion , 2003, IEEE Trans. Speech Audio Process..

[12]  Lauri Savioja,et al.  REAL-TIME 3D FINITE-DIFFERENCE TIME-DOMAIN SIMULATION OF LOW- AND MID-FREQUENCY ROOM ACOUSTICS , 2010 .

[13]  Julius O. Smith,et al.  Physical Modeling with the 2-D Digital Waveguide Mesh , 1993, ICMC.

[14]  David V. Hutton,et al.  Fundamentals of Finite Element Analysis , 2003 .

[15]  David Kaeli,et al.  Heterogeneous Computing with OpenCL , 2011 .

[16]  Cynthia Bruyns,et al.  Modal Synthesis for Arbitrarily Shaped Objects , 2006, Computer Music Journal.

[17]  Allan Gottlieb,et al.  Highly parallel computing , 1989, Benjamin/Cummings Series in computer science and engineering.

[18]  R. LeVeque Finite Volume Methods for Hyperbolic Problems: Characteristics and Riemann Problems for Linear Hyperbolic Equations , 2002 .

[19]  Lawrence E. Kinsler,et al.  Fundamentals of acoustics , 1950 .

[20]  A. James Stewart,et al.  General Calculations using Graphics Hardware with Applications to Interactive Caustics , 2000, Rendering Techniques.

[21]  David M. Howard,et al.  Acoustics and Psychoacoustics , 2006 .

[22]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[23]  A. Krokstad,et al.  Calculating the acoustical room response by the use of a ray tracing technique , 1968 .

[24]  John Nicholas Holmes,et al.  Speech synthesis , 1972 .

[25]  Stefan Bilbao,et al.  Modeling of Complex Geometries and Boundary Conditions in Finite Difference/Finite Volume Time Domain Room Acoustics Simulation , 2013, IEEE Transactions on Audio, Speech, and Language Processing.

[26]  Stefan Bilbao,et al.  Physical Modeling of Timpani Drums in 3D on GPGPUs , 2013 .

[27]  Julius O. Smith,et al.  Extensions of the Karplus-Strong Plucked-String Algorithm , 1983 .

[28]  Davide Rocchesso,et al.  Physically Informed Signal Processing Methods for Piano Sound Synthesis: A Research Overview , 2003, EURASIP J. Adv. Signal Process..

[29]  Klaus Mueller,et al.  Efficient LBM Visual Simulation on Face-Centered Cubic Lattices , 2009, IEEE Transactions on Visualization and Computer Graphics.

[30]  R. Cook,et al.  Concepts and Applications of Finite Element Analysis , 1974 .

[31]  Marc Sosnick-Pérez,et al.  Implementing a Finite Difference-Based Real-time Sound Synthesizer using GPUs , 2011, NIME.

[32]  Antoine Chaigne,et al.  TIME-DOMAIN MODELING AND NUMERICAL SIMULATION OF A KETTLEDRUM , 1999 .

[33]  Vesa Välimäki,et al.  Real-Time Additive Synthesis with One Million Sinusoids Using a GPU , 2010 .

[34]  Manfred Krafczyk,et al.  TeraFLOP computing on a desktop PC with GPUs for 3D CFD , 2008 .

[35]  Vesa Välimäki,et al.  Interpolated rectangular 3-D digital waveguide mesh algorithms with frequency warping , 2003, IEEE Trans. Speech Audio Process..

[36]  M. van Walstijn,et al.  Virtual room acoustics using finite difference methods. How to model and analyse frequency-dependent boundaries? , 2008, 2008 3rd International Symposium on Communications, Control and Signal Processing.

[37]  Daisuke Takahashi,et al.  Optimization of Sparse Matrix-Vector Multiplication for CRS Format on NVIDIA Kepler Architecture GPUs , 2013, ICCSA.

[38]  Giovanni De Poli,et al.  Algorithms and Structures for Synthesis Using Physical Models , 1992 .

[39]  John L. Gustafson,et al.  Reevaluating Amdahl's law , 1988, CACM.

[40]  Maxim Naumov,et al.  Incomplete-LU and Cholesky Preconditioned Iterative Methods Using CUSPARSE and CUBLAS , 2012 .

[41]  Vesa Välimäki,et al.  Interpolated 3-D digital waveguide mesh with frequency warping , 2001, 2001 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.01CH37221).

[42]  Wolfgang Straßer,et al.  A Parallel Preconditioned Conjugate Gradient Solver for the Poisson Problem on a Multi-GPU Platform , 2010, 2010 18th Euromicro Conference on Parallel, Distributed and Network-based Processing.

[43]  C. K. Filelis-Papadopoulos,et al.  Solving finite difference linear systems on GPUs: CUDA based Parallel Explicit Preconditioned Biconjugate Conjugate Gradient type Methods , 2011, The Journal of Supercomputing.

[44]  Pierre Ruiz,et al.  Synthesizing Musical Sounds by Solving the Wave Equation for Vibrating Objects: Part 2 , 1971 .

[45]  Timothy A. Davis,et al.  Direct methods for sparse linear systems , 2006, Fundamentals of algorithms.

[46]  Michael Vorlnder,et al.  Auralization: Fundamentals of Acoustics, Modelling, Simulation, Algorithms and Acoustic Virtual Reality , 2020 .

[47]  J. Borish Extension of the image model to arbitrary polyhedra , 1984 .

[48]  Pradeep Dubey,et al.  3.5-D Blocking Optimization for Stencil Computations on Modern CPUs and GPUs , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[49]  Damian T. Murphy,et al.  Rendering walk-through auralisations using wave-based acoustical models , 2009, 2009 17th European Signal Processing Conference.

[50]  Dimitri Komatitsch,et al.  Accelerating a three-dimensional finite-difference wave propagation code using GPU graphics cards , 2010 .

[51]  Luis F. Romero,et al.  Parallel scheduling of the PCG method for banded matrices rising from FDM/FEM , 2003, J. Parallel Distributed Comput..

[52]  Paul Graham,et al.  Large Scale Physical Modeling Sound Synthesis , 2013 .

[53]  John M. Chowning,et al.  The Synthesis of Complex Audio Spectra by Means of Frequency Modulation , 1973 .

[54]  Bruno Fazenda,et al.  A PHYSICALLY-CONSTRAINED SOURCE MODEL FOR FDTD ACOUSTIC SIMULATION , 2012 .

[55]  Ming C. Lin,et al.  Accelerated wave-based acoustics simulation , 2008, SPM '08.

[56]  Michael Schoenberg,et al.  Finite-difference modeling of faults and fractures , 1995 .

[57]  Murray Hodgson,et al.  Improved algorithms and methods for room sound-field prediction by acoustical radiosity in arbitrary polyhedral rooms. , 2004, The Journal of the Acoustical Society of America.

[58]  Bengt-Inge Dalenbäck A New Model for Room Acoustic Prediction and Auralization , 1995 .

[59]  Esteban Walter Gonzalez Clua,et al.  Performance Evaluation of Optimized Implementations of Finite Difference Method for Wave Propagation Problems on GPU Architecture , 2010, 2010 22nd International Symposium on Computer Architecture and High Performance Computing Workshops.

[60]  Linda P. Franzoni,et al.  An acoustic boundary element method based on energy and intensity variables for prediction of high-frequency broadband sound fields , 2001 .

[61]  Maxim Naumov,et al.  Parallel Solution of Sparse Triangular Linear Systems in the Preconditioned Iterative Methods on the GPU , 2011 .

[62]  Vesa Välimäki,et al.  Virtual musical instruments — natural sound using physical models , 1996, Organised Sound.

[63]  Perry R. Cook,et al.  TBone: An Interactive WaveGuide Brass Instrument Synthesis Workbench for the NeXT Machine , 1991, ICMC.

[64]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, SIGGRAPH 2004.

[65]  Paulius Micikevicius,et al.  3D finite difference computation on GPUs using CUDA , 2009, GPGPU-2.

[66]  Rolf Bader Computational mechanics of the classical guitar , 2005 .

[67]  M. Benzi,et al.  A comparative study of sparse approximate inverse preconditioners , 1999 .

[68]  Craig J. Webb,et al.  Large-scale Virtual Acoustics Simulation at Audio Rates Using Three Dimensional Finite Difference Time Domain and Multiple GPUs , 2013 .

[69]  A. Gupta,et al.  Parallel Algorithms for Forward and Back Substitution in Direct Solution of Sparse Linear Systems , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[70]  Lauri Savioja,et al.  Modeling Techniques for Virtual Acoustics , 1999 .

[71]  Andrew J. Majda,et al.  Absorbing Boundary Conditions for Numerical Simulation of Waves , 1977 .

[72]  Ying Zhao,et al.  Performance Evaluation of the Three-Dimensional Finite-Difference Time-Domain(FDTD) Method on Fermi Architecture GPUs , 2011, ICA3PP.

[73]  José Escolano,et al.  Parallelization of the finite-difference time-domain method for room acoustics modelling based on CUDA , 2013, Math. Comput. Model..

[74]  Tapio Lokki,et al.  The room acoustic rendering equation. , 2007, The Journal of the Acoustical Society of America.

[75]  Michael J. Flynn,et al.  Some Computer Organizations and Their Effectiveness , 1972, IEEE Transactions on Computers.

[76]  Kevin Karplus,et al.  Digital Synthesis of Plucked-String and Drum Timbers , 1983 .

[77]  Wenyu Jiang,et al.  Using Programmable Graphics Hardware for Acoustics and Audio Rendering , 2009 .

[78]  S. Schwerman,et al.  The Physics of Musical Instruments , 1991 .

[79]  Stefan Bilbao,et al.  Optimized FDTD Schemes for 3-D Acoustic Wave Propagation , 2012, IEEE Transactions on Audio, Speech, and Language Processing.

[80]  A. Quarteroni,et al.  Numerical Approximation of Partial Differential Equations , 2008 .

[81]  P. Sadayappan,et al.  High-performance sparse matrix-vector multiplication on GPUs for structured grid computations , 2012, GPGPU-5.

[82]  Stefan Bilbao,et al.  ON FINITE DIFFERENCE SCHEMES FOR THE 3-D WAVE EQUATION USING NON-CARTESIAN GRIDS , 2013 .