Here, I am using CUDA Programming Language to calculate simulation of a sound wave in a empty room and compared it with the speed of simulation calculated using C++ Programming Language.
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
Â
Room Acoustics Simulation Using GPU
1. ROOM ACOUSTICS
SIMULATION USING GRAPHICS
PROCESSING UNIT
GROUP ID:16
PROJECT GUIDE: Prof. Sumeet Harale
Presented By:
Chirag Batra
2. Outlines
⢠What is Room Acoustics
⢠First Order Reflection and Diffusion
⢠Problem Statement
⢠Goals and Objectives
⢠Purpose of Room Acoustics
⢠Introduction to CUDA
⢠Why Room Acoustics Simulation with CUDA
⢠Introduction to GPU
⢠Difference between CPU and GPU
⢠Methods To Implement Room Acoustics Simulation
⢠TLM(Transmission Line Matrix)
⢠Conclusion
4. ⢠The way to describe how sound propagates in a room
⢠It will react differently to different frequencies of sound when it
strikes to different objects
Figure(1):3d Acoustics in a closed room
5. First Order Reflection
⢠The first locations where sound reflects between
our ears and the speakers
Diffusion
⢠net movement of molecules
⢠from a region of high concentration to a region
of low concentration
6. Room AcousticSimulation
Forwhat purpose?
⢠In video gameâŚ
⢠So that we can have the acoustic spatial perception
⢠For hearing the simulated sound given the room map
⢠Used in Aerospace laboratory to calculate noise produced by
Aero plane
7. Problem Statement
⢠To Show The Simulation of a Sound Wave propagating in a room
and to implement TLM for Room Acoustic Simulation.
8. Goals
⢠To explain & implement how sound wave propagation is modelled in a room using
GPU
Objectives
⢠To Learn OPENGL
⢠To learn CUDA Programming
⢠To Understand Acoustics Simulation
9. Introduction To CUDA
⢠CUDA is a parallel computing platform and application programming
interface (API) model created by NVIDIA.
⢠Allows software developers to use a CUDA-enabled GPU for general purpose
processing â known as GPGPU.
10. Room Acoustic Simulation why with
CUDA
â˘Simulation of propagation because the pressure of
each spatial point can be parallel computed
â˘DCT(Discrete cosine transform) implementation
based on cuFFT(CUDA Fast Fourier Transform)
11. What is GPU?
⢠GPU-accelerated computing is the use of a GPU together with a CPU to
accelerate scientific, analytics, engineering, consumer, and enterprise
applications.
⢠Used in power energy-efficient datacenters in government labs, universities,
enterprises, and small-and-medium businesses around the world.
13. Difference between CPU and GPU
⢠CPU is the brain of the computer the GPU is only meant to complement it.
⢠GPUs are specialized and cannot replace the function of a CPU.
⢠CPUs can perform the functions of a GPU but at a much slower speed.
⢠GPUs can rival CPUs in transistor count.
⢠GPUs can also work in tandem just like the CPUâs multi core capability.
15. Transmission Line Matrix
⢠Space and time discretizing method
⢠Computation of electromagnetic fields
⢠Based on the analogy between the electromagnetic field and a
mesh of transmission lines
⢠Allows the computation of complex three-dimensional
electromagnetic structures
⢠Is a numerical method used to simulate wave propagation
16. Transmission Line Matrix
Implementation
⢠Based on Huygens Principle,
âEach point on a wave front acts as a source of secondary wavelets
At a later time, the envelope of the leading edges of the wavelets forms the new
wave frontâ
⢠Implementation of the grid of nodes , wave propagation was made in C++ and
OpenGL
⢠Application is divided into several classes
⢠Each node is represented on the screen as a two by two pixel square that has a color
that depends on the amount of pressure currently present in the node
⢠Each node, two vectors, represent the flow of pressure between the nodes.
⢠One incoming pressure one outgoing
⢠The program uses the TLM methods to distribute all the pressure to the neighboring
nodes.
17. Transmission Line Matrix
Implementation
⢠A sinusoidal source , at a node in the room, adding pressure to the incoming vector
of this node at each time instant.
⢠Without a source of some kind there is no pressure to be scattered between the
nodes.
⢠Virtual Microphones used for pressure detection
18. Kernel Code
⢠Function callable from Host and executed on CUDA device
⢠Simultaneously by threads in parallel
⢠In this project we have used âkernel.cuhâ to process CUDA
⢠To call a kernel involves specifying the name of the kernel plus an execution
configuration
⢠Thread allocated by kernel is equal to number of nodes in a block
19. Working of TLM
A source is added
Scattering of node
Simulation and
result
Room
Source
Simulation
20. GPU vs CPU
Pressure on Nodes CPU(time in seconds if
number of nodes
simulated are same)
GPU(time in seconds if
number of nodes
simulated are same)
0.454649 2 0.1
0.309246 4 0.2
0.0334211 6 0.3
0.49468 8 0.4
0.305479 10 0.5
23. Conclusion
⢠The programmability, processing and execution speed of GPU is
faster as compared to CPU.
⢠GPU is not only used for graphics related problems but also for
General Purpose problems(GPGPU) like Room Acoustics
Simulation.
⢠TLM is the efficient method used for Room Acoustics Simulation.
Top class is a room class which contains all other classes
They are divided into classes for easy and effective calculation
Used in c++ and opengl for effective visualization