<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  
</head>
<body text="#000000" bgcolor="#ffffff">
The instruction set is very restricted, and the communication<br>
paths aren't there, as you suggested.  GPGPU is especially<br>
good for highly compute-intensive operations over not<br>
all that much data.  An FFT is an obvious example but<br>
there are many, many good examples.  (Not that I'm an<br>
expert, but I do know that much.)<br>
<br>
There are CUDA-compatible devices that don't even<br>
have a video connection, i.e. for GPGPU only.<br>
The NVidia Tesla, called a "computing processor"<br>
(weird name).  240 cores per board, and you can<br>
chain together four of them.<br>
<br>
(My officemates are getting this info and telling to<br>
me faster than I can type it in.  Thanks, Andrew<br>
and Scott.)<br>
<br>
-- Dan<br>
<br>
Jeremy Jones wrote:
<blockquote type="cite" cite="mid:fcd1963f0905200635o23b60bb5k45866dbcb8b3adbb@mail.gmail.com">
  <pre wrap="">On Wed, May 20, 2009 at 9:13 AM, Raffael Cavallaro
<a href="mailto:raffaelcavallaro@mac.com" class="moz-txt-link-rfc2396E"><raffaelcavallaro@mac.com></a> wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">tomshardware.com ran this a couple of days ago:

<a href="http://www.tomshardware.com/reviews/nvidia-cuda-gpgpu,2299.html" class="moz-txt-link-rfc2396E"><http://www.tomshardware.com/reviews/nvidia-cuda-gpgpu,2299.html></a>

It's a summary of real-world results from apps using Nvidia's CUDA.
For certain things, like video encoding, they're seeing a 4x speedup
using the GPU over using the CPU. In addition, when they use the GPU,
it leaves the CPU free for other tasks.
    </pre>
  </blockquote>
  <pre wrap=""><!---->

Why don't we just throw out the main CPU and fill our computers with
graphics cards?  (Once CCL is ported to GPUs of course)

Seriously though, what does a CPU have that a GPU doesn't, besides a
different instruction set?  More memory?  Better i/o?  Is the GPU
instruction set too specialized?  I bet the answer is mainly software,
like OSes and device drivers.  I remember in the old days it was
common to have a separate processor to handle i/o.  Maybe that's what
the main CPU should be relegated to.  OTOH, if the software is good
enough, it should just be distributed to whatever computing resources
are appropriate and available.  Just thinking out loud.
_______________________________________________
Openmcl-devel mailing list
<a href="mailto:Openmcl-devel@clozure.com" class="moz-txt-link-abbreviated">Openmcl-devel@clozure.com</a>
<a href="http://clozure.com/mailman/listinfo/openmcl-devel" class="moz-txt-link-freetext">http://clozure.com/mailman/listinfo/openmcl-devel</a>
  </pre>
</blockquote>
</body>
</html>