[Openmcl-devel] Speed, compilers and multi-core processors

R. Matthew Emerson rme at clozure.com
Wed May 20 11:21:11 PDT 2009

On May 20, 2009, at 9:35 AM, Jeremy Jones wrote:

> On Wed, May 20, 2009 at 9:13 AM, Raffael Cavallaro
> <raffaelcavallaro at mac.com> wrote:
>> tomshardware.com ran this a couple of days ago:
>> <http://www.tomshardware.com/reviews/nvidia-cuda-gpgpu,2299.html>
>> 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.
> 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.

Back in the late 1960's, Myer and Sutherland encountered this  
situation (GPU turning into a CPU):

"The flexibility and power needed in the channel for a computer  
display are considered. To work efficiently, such a channel must have  
a sufficient number of instruction that it is best understood as a  
small processor rather than a powerful channel. As it was found that  
successive improvements to the display processor design lie on a  
circular path, by making improvements one can return to the original  
simple design plus one new general purpose computer for each trip  
around. The degree of physical separation between display and parent  
computer is a key factor in display processor design."



More information about the Openmcl-devel mailing list