20-11-2012, 01:52 PM
DIGITAL SIGNAL PROCESSING WITH GPU
DIGITAL SIGNAL.pptx (Size: 918.49 KB / Downloads: 31)
DSP in real terms
In the strict sense of the term, digital signal processing refers to the electronic processing of signals such as sound, radio, and microwaves.
DSPs are essentially fast number-crunchers which also happen to be small, fairly low-cost, and with fairly low-power consumption.
INTRODUCTION
“Digital signal Processing” is based on ‘abundant’ but simple mathematical computations.
Requires speedy hardware because calculations are in plethora.
Long running times.
Used in simple jobs like designing Optimum Linear Filters, Adaptive Filters.
How do we handle DSP applications today?
Through CPUs
No offence, CPU's are vastly more powerful.
However,It is just too big and needs a heat-sink and fan to keep it from melting.
Above all, they are quite costly too.
But DSP's just happen to be really good at performing 10's of thousands of parallel computations/second, on things like incoming audio signals..
EXAMPLE: FFT
What’s wrong with CPU?
Any place you need speed, but could not put a Pentium because it is just too big and needs a heat-sink and fan to keep it from melting, is a good candidate for one or more DSPs.
WE NEED:
Just about any embedded product application that involves rapid numeric processing is a candidate for a DSP.
CPU's are very bad at this, and tend to need
things broken down into blocks -- which requires all sorts of design constraints..
They're also terrible at performing complex mathematical functions fast and in parallel, like TAN and COS; which are used in filters and used to modulate things.
WHAT ABOUT design & efficiency?
More so, CPU have a design more efficient or a superior choice for latency critical applications rather than throughput related..
MEANING:- CPU performs operations faster when the problem is simple but their performance is challenged when it comes to lengthy and complex problems.
Motivation: Computational Power
GPUs are fast…
3.0 GHz dual-core Pentium4: 24.6 GFLOPS
NVIDIA GeForceFX 7800: 165 GFLOPs
1066 MHz FSB Pentium Extreme Edition : 8.5 GB/s
ATI Radeon X850 XT Platinum Edition: 37.8 GB/s
GPUs are getting faster, faster
CPUs: 1.4× annual growth
GPUs: 1.7×(pixels) to 2.3× (vertices) annual growth
Motivation: Flexible and Precise
Modern GPUs are deeply programmable
Programmable pixel, vertex, video engines
Solidifying high-level language support
Modern GPUs support high precision
32 bit floating point throughout the pipeline
High enough for many (not all) applications
GPU vs CPU :-
GPU is tailored for high parallel operations while CPU for serial operations.
Significantly faster
Thousand of cores in gpu while few in cpu
Gpu has parallel execution units while cpu has fewer execution units
Gpu’s have deeper pipelines(several thousands than 10-20 for cpu’s)
Host Interface
The host interface is the communication bridge between the CPU and the GPU
It receives commands from the CPU and also pulls geometry information from system memory
It outputs a stream of vertices in object space with all their associated information (normals, texture coordinates, per vertex color etc)