Replacement for SGE grid ?

Hello everybody,

is any sense/possibility to replace the SGE or LSF grid (consists of 100s of usual worksatations) by GPU like Tesla ?
Does someone has such experience ?
What are the limitation for types of tasks which can be ran on SGE and cannot on GPU ?

Thanks in advanced,
Pavel

It depends very strongly on what type of programs you are running. A grid like SGE is very general purpose, whereas only some types of algorithms can be ported efficiently to CUDA.

Note that you don’t have to pick: many institutions have built a traditional cluster running something like SGE, but then each node has 4 Tesla devices connected to it. In this model, the Tesla can act as an accelerator for your grid jobs (assuming you rewrite the code to use the Tesla card). Again, depending on the specific programs you are running, this could let you build a much smaller grid.

This hybrid cluster style is also what allowed the Roadrunner cluster here at LANL to hit the #1 slot on the supercomputer rankings. Each node is 4 Opteron cores connected over PCI-Express to 4 Cell processors (the fancy IBM ones with faster double precision). People do the same thing with Tesla (though not quite as big yet).

[quote name=‘seibert’ date=‘Jul 5 2009, 03:43 PM’ post=‘561820’]

It depends very strongly on what type of programs you are running. A grid like SGE is very general purpose, whereas only some types of algorithms can be ported efficiently to CUDA.

Generally speaking - is not this possible to use Tesla GPU like SGE - I mean to submit each task in queue using qsub separately to each of 100s processor units in GPU ?

I fully understand about potential problems with memory, buses etc but in general - is this possible or not ?

No, it is not possible. You cannot schedule jobs on the individual processor units of a GPU, only to the GPU.

The best approach is to add CUDA to few portions of the SGE grid, change the scheduler to be aware of GPU nodes and then load-balance GPU based jobs…

And of course, you need to port applications to run on CUDA and then happily schedule on SGE.

Is this possible then to use standard multithread option (like in case of a few CPUs on board) for running a few independent threads on GPU ?
I mean for convenient tasks and without special programming with CUDA.

Thanks,
Pavel

No, the GPU is not like a multicore CPU. You should think of it more like a very large vector processor.