Student: Luca Pintavalle 756088
PROFESSOR: ING. SILVANO CRISTINA
TEACHING ASSISTANT : ING. ZACCARIA VITTORIO
PROJECT OF ADVANCED COMPUTER ARCHITECTURES
Audio processing algorithms on the GPU
Como 20-June-2011
Introductions
 Analysis of Audio Processing Algorithm Effects:
 Equalizer
 Delay
 Reverb
 Compression
o Valuate the performance: CPU vs GPU
Student: Luca Pintavalle
Equalizer
 What’s the Equalizer effect???
 FIR vs IIR
 Type of Filter:
 Butterworth is used as low-pass filter
Student: Luca Pintavalle
 Pseudo Code of Equalizer Design
Equalizer Conclusion
 The equalizer is implemented as “single-thread”
purely sequential.
 The equalizer implementation was expected to
perform poorly on the GPU because it can not be
computed in parallel.
Student: Luca Pintavalle
Delay
 What’s the DELAY effect???
 Delay can also done by summing up signal with FIR
Can be computed in parallel of block size, and it denote the number of sample to delay the
signal
How works Delay :
Student: Luca Pintavalle
Delay Design Algorithm
 The “straight forward” design described how it should be computed for
parallel computation, and that it would use the same number of
arithmetic operations regardless of the delay length.
 The “circular buffer” design had the same number of arithmetic
operations as straight forward, but allocated a fixed memory buffer
region to store the past “delayLength” number of elements to take
advantage of the CPU cache.
 The“copy and sum” design showed a completely parallel way of
computing the delay formulation requiring use of atomic operations or
reduction methods, and required more arithmetic operations than the
other two.Student: Luca Pintavalle
Delay Conclusion
 The “straight forward” and the “circular buffer” complexity is O(n)
 The “copy and sum” is the worst, implementations is too much slower
due to inner “for” , in fact time complexity is O(n2) but can be done in
parallel
Student: Luca Pintavalle
Reverb
 What’s the REVERB effect ???
 Reverberations TIME T60
 classical music: 1,5 – 2 sec
 Concert hall: 2sec - Theater:1sec
Convolutions reverb impulse response are typically quite
long
How works Reveb:
impulse response Input signal
Student: Luca Pintavalle
Reverb
 The reverb algorithm had four designs:
 “standard fast convolution”
 “overlap-save”
 “overlap-add”
 “partitioned convolution”.
 All designs could be computed completely in parallel.
 It’s the only algorithm which can be computed in
parallel.
Student: Luca Pintavalle
Reverb
 It’s the only case where GPU is faster than CPU
Student: Luca Pintavalle
Compressor
 What’s the Compressor effect ???
 RMS is used for determinate how far the gain has
moved past the threshold.
The essential part of compressor is determinate the gain
coefficient
How works Compressor:
Student: Luca Pintavalle
Compressor
 Compressor is implemented by two different
implementations:
 single threaded design implemented for the CPU and GPU
 multi threaded design is implemented for the CPU and GPU
Student: Luca Pintavalle
Conclusion
 Partially Parallel Algorithms:
 Fully Parallel Algorithms:
 Fully Sequential Algorithms:
CPU GPU
Delay: FAST SLOW
Compressor FAST SLOW
CPU GPU
Reverb: SLOW FAST
CPU GPU
Equalizer: FAST SLOW
Student: Luca Pintavalle
The End
Thanks for the attentions

Audio processing algorithms on the gpu

  • 1.
    Student: Luca Pintavalle756088 PROFESSOR: ING. SILVANO CRISTINA TEACHING ASSISTANT : ING. ZACCARIA VITTORIO PROJECT OF ADVANCED COMPUTER ARCHITECTURES Audio processing algorithms on the GPU Como 20-June-2011
  • 2.
    Introductions  Analysis ofAudio Processing Algorithm Effects:  Equalizer  Delay  Reverb  Compression o Valuate the performance: CPU vs GPU Student: Luca Pintavalle
  • 3.
    Equalizer  What’s theEqualizer effect???  FIR vs IIR  Type of Filter:  Butterworth is used as low-pass filter Student: Luca Pintavalle  Pseudo Code of Equalizer Design
  • 4.
    Equalizer Conclusion  Theequalizer is implemented as “single-thread” purely sequential.  The equalizer implementation was expected to perform poorly on the GPU because it can not be computed in parallel. Student: Luca Pintavalle
  • 5.
    Delay  What’s theDELAY effect???  Delay can also done by summing up signal with FIR Can be computed in parallel of block size, and it denote the number of sample to delay the signal How works Delay : Student: Luca Pintavalle
  • 6.
    Delay Design Algorithm The “straight forward” design described how it should be computed for parallel computation, and that it would use the same number of arithmetic operations regardless of the delay length.  The “circular buffer” design had the same number of arithmetic operations as straight forward, but allocated a fixed memory buffer region to store the past “delayLength” number of elements to take advantage of the CPU cache.  The“copy and sum” design showed a completely parallel way of computing the delay formulation requiring use of atomic operations or reduction methods, and required more arithmetic operations than the other two.Student: Luca Pintavalle
  • 7.
    Delay Conclusion  The“straight forward” and the “circular buffer” complexity is O(n)  The “copy and sum” is the worst, implementations is too much slower due to inner “for” , in fact time complexity is O(n2) but can be done in parallel Student: Luca Pintavalle
  • 8.
    Reverb  What’s theREVERB effect ???  Reverberations TIME T60  classical music: 1,5 – 2 sec  Concert hall: 2sec - Theater:1sec Convolutions reverb impulse response are typically quite long How works Reveb: impulse response Input signal Student: Luca Pintavalle
  • 9.
    Reverb  The reverbalgorithm had four designs:  “standard fast convolution”  “overlap-save”  “overlap-add”  “partitioned convolution”.  All designs could be computed completely in parallel.  It’s the only algorithm which can be computed in parallel. Student: Luca Pintavalle
  • 10.
    Reverb  It’s theonly case where GPU is faster than CPU Student: Luca Pintavalle
  • 11.
    Compressor  What’s theCompressor effect ???  RMS is used for determinate how far the gain has moved past the threshold. The essential part of compressor is determinate the gain coefficient How works Compressor: Student: Luca Pintavalle
  • 12.
    Compressor  Compressor isimplemented by two different implementations:  single threaded design implemented for the CPU and GPU  multi threaded design is implemented for the CPU and GPU Student: Luca Pintavalle
  • 13.
    Conclusion  Partially ParallelAlgorithms:  Fully Parallel Algorithms:  Fully Sequential Algorithms: CPU GPU Delay: FAST SLOW Compressor FAST SLOW CPU GPU Reverb: SLOW FAST CPU GPU Equalizer: FAST SLOW Student: Luca Pintavalle
  • 14.
    The End Thanks forthe attentions