views:

643

answers:

2

I read in this article that a company has created a software capable of using multiple GPU-based video cards in parallel to process hundreds of billions fixed-point calculations per second.

The program seems to run in Windows. Is it possible from Windows to assign a thread to a GPU? Do they create their own driver and then interact with it? Any idea of how they do it?

+5  A: 

I imagine that they are using a language like CUDA to program the critical sections of code on the GPUs to accelerate their computation.

The main function for the program (and its threads) would still run on the host CPU, but data are shipped off the the GPUs for processing of advanced algorithms. CUDA is an extension to C syntax, so it makes it easier to programmer than having to learn the older shader languages like Cg for programming general purpose calculations on a GPU.

jvasak
+2  A: 

A good place to start - GPGPU

Also, for the record, I don't think there is such a thing as non-GPU based graphic cards. GPU stands for graphics processing unit which is by definition the heart of a graphics card.

shoosh
Thanks, great link. I don't have enough reputation to include it in the accepted answer.
Dawkins
Actually, Intel's forthcoming Larrabee intends very much to be a CPU-based graphics card. And arguably, there are a number of low-end "integrated graphics" that are so non-programmable that they just aren't in the same league as the graphics cards that are typically labeled "GPUs".
Larry Gritz