Difference between DSPs and GPUs

Status
Not open for further replies.

abdalrahman_ehsan

Newbie level 6
Joined
Dec 17, 2013
Messages
14
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Visit site
Activity points
119
I asking about the main differences between GPU (graphical processing unit) and DSP (digital signal processor)

isn't DSP capable of doing image processing as it is part of signal processing ?
so what is the main characteristics of image processing differentiating it from the wide digital signal processing

what is main differences of GPUs and DSPs ?
 

A digital signal processor (DSP) is a specialized microprocessor designed specifically for digital signal processing, generally in real-time. Programmable Digital Signal Processor (DSPs) are tuned to efficiently execute the computationally-intensive loops that typically characterize digital signal processing algorithms (i.e. FIR and IIR filters).

A Graphics Processing Unit or GPU (also occasionally called Visual Processing Unit or VPU) is a dedicated graphics rendering device for a personal computer, workstation, or game console. A GPU is the main processing unit in the architecture of every graphic cards used on computers or game consoles.

**broken link removed**
 

ok
isn't image processing a kind of digital signal processing ?
why don't we use DSPs in image processing ? or what is special operations needed for image processing forced us to design GPUs rather than using DSPs ?
what is GPUs optimized for ?
this my questions
 

GPUs are specially suitable for draw and modify images, not properly designed for perform patter matching or recognition, what is supposedly the matter you are asking for.

Such devices must work giving support for a main processor ( not necessarily a DSP one ) releasing it for a big amount of computational tasks.


+++
 
thank you
andre_teprom

for further understanding
i.e. GPUs are specialized in just drawing images on the screen i.e. (vertex shading , geometry shading , rasterizer , pixel shading and o/p merging ) ?
who is responsible for image processing i.e. rotating images , filtering and so on ? the main processor on the computer ?
what is the scope of GPUs ? digital cameras have GPU and general processor for filtering and such operations ?

thank you
 

abdalrahman,


I don´t know exactly what is the GPU you intend to use, but at the one I had researched a few (MALI-400), could not find too much elementary enhancement operations, but predominantly operations for render graphical 3D images. I suppose the reason is due to this core is largely applied on modern handsets, which are designed for provide support for such features.


+++
 
abdalrahman_ehsan,

The main difference is that GPU is specialized on doing vectorial operations. It can process several (hundreds) operations at the same clock cycle, but, on other hand, it has problems in executing simple sequential tasks.

For example, this code (conceitual) is perfect for GPU:

Code:
for (i=0;i<100;i++)
  a[i] = a[i]*b;

As GPU have a lot of parallel processors, it can perform actions in parallel. If the specific GPU has more than 100 processors, it can do the example above in one clock cycle!

But, for example, the code (again, conceitual) below does not runs well in GPU:

Code:
for (i=0;i<100;i++)
  if (a[i]>0)
    b[i]++;
  else
    b[i]--;

Because some cores would have to execute b++, while some cores should have to execute b--; this is not possible, all GPU cores must execute the same instruction.

DSPs, on other hand, can make vectorial operations as well, but they are much more flexible, and does not present these lockouts.
 
Reactions: shaiko

    shaiko

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…