• Competitor rules

    Please remember that any mention of competitors, hinting at competitors or offering to provide details of competitors will result in an account suspension. The full rules can be found under the 'Terms and Rules' link in the bottom right corner of your screen. Just don't mention competitors in any way, shape or form and you'll be OK.

CUDA

  • Thread starter Thread starter Deleted member 70857
  • Start date Start date

Deleted member 70857

Deleted member 70857

Am i right in thinking a Quad-Core CPU has 4 cores, thus 4 threads (im leaving core i7 out of this for the time being)

Meaning that it can do 4 things at once, or 4 threads?

With CUDA most Nvidia GPU's have 128 Stream-processors.
So am i correct in thinging that the GPU can handle 128 threads?
 
Spot on.

Yup not far off there.

gfx cards are far better at parrallel proccesing than current cpu's, hence why there are BOINC modules that run on your gfx card.
 
cheers, anyone got any more info on it, ive checked out the site but i just want it in plain english really lol
 
cheers, anyone got any more info on it, ive checked out the site but i just want it in plain english really lol

A CPU is, at heart, a serial device, designed to execute complex instructions one after the other. As such it uses most of its transistors for control logic and cache. You can have multiple CPUs, but as you have probably seen it is not always easy or even feasible for a program (like a game) to make use of more than one of the CPUs (since each thread may need to communicate with the others more rapidly than the separate cores structure allows).

A GPU is a massively parallel device, which executes multiple simple instructions simultaneously. As such, it uses almost all its transistors for computation. Of course, only a very small subset of programs can be adapted to take advantage of this structure. But you're right - a GPU will have the ability to execute (say) 128 parallel threads, while your CPU can execute (say) 4. So for the few kinds of application that can be designed to run on a GPU (like graphics, and some large-scale scientific computations), the GPU is far more efficient.

The following picture sums up the difference between the two compnents quite nicely:


cpugpuai6.jpg





CUDA itself is an API; a kind of interface which provides a series of instructions to allow general C-type code to be run using a GPU. It is still up to the user to write the code in a way which will see benefit from the GPU structure.

If you're looking for something that tells you how to use it in plain English, I'm afraid you won't find it. You will use CUDA if you want to make your massively parallel application work with a nvidia stream-processing device. If you have already written a massively parallel code, then you are only interested in useful technical information.
 
Last edited:
Back
Top Bottom