JF_Aidan_Pryde
Regular
A while ago I asked on the 3D tech forum on any questions for Tim Sweeney. Many members were kind enough to contribute, Marco (MfA) especially for his cell question. Here's the response:
In the past you have suggested rendering would move back to general purpose processors, but on the other hand you have admitted reservations to massively parallel processors like ‘Cell’, how do you unite these views?
[Laughter] “Well that’s a big question there. CPUs are becoming parallel. With Intel you have this hyper-threading technology which means you can execute two threads at once almost for free. And Intel and AMD are talking about having multiple cores on their chips. So you’ll get to see a CPU in a few years from now that can have 16 cores. This is not that much different from a GPU with 16 pixel pipelines if you think about it. The big difference between CPU and GPU technology is that on the graphics side you can do everything in parallel without dependencies on other stuff. So for rendering, the GPU is going to have a serious advantage over a CPU, maybe a factor of five to ten. Once you get down to every pixel shader computation in full floating point, at some point computation comes back and dominates again. So CPUS are going to become more efficient relative to GPUs in the future.
I can see a point in, seven to ten years out where a lot of computers don’t ship with any graphics accelerator at all because the CPUs are fast enough to do that. I can still see the really high end machines come out with graphics acceleration.â€
Speaking of CPUs, what are your thoughts on the Sony CELL processor? How easy will it be to program and how well will it run shaders?
"Well I don’t have any inside information on that— all I’ve seen is their patent filing which describes a system with 16 or more independent CPUswith their relatively small memory. I think it’s a very strange architecture. From my experience with the other consoles it’s really critical that every processor has some kind of uniform memory access so you are not having to dispatch DMA package everywhere in the system to feed data into little fixed sized memory spots. Otherwise programming just becomes a nightmare. I think for the cell processor to work you really need an architecture that’s a little bit closer to a traditional computer than this. The idea of 16 processors is very reasonable and is something you are going to eventually see from Intel and AMD maybe in seven years or so. As Moore’s law goes up you can fit more CPUs on a single die but you can’t do that and sacrifice general computing ability—you got to have a shared memory bus; something like the XBOX has with unified memory where both the graphics and CPU are accessing the same memory even though they have their local caches. I can see that [CELL] working but I think it’s going to be very careful and something that requires an enormous amount of R&D to get right. I’d hate to see version one of it come out and not be a general purpose computing architecture. It’ll be a nightmare to develop for a system where each processor has a megabyte or whatever and there’s no easy way send data back and forth between processor other than buddling up into DMA. I think it would be so difficult that you wouldn’t have any portability between that kind of a system and a PC or other traditional platforms."
In the past you have suggested rendering would move back to general purpose processors, but on the other hand you have admitted reservations to massively parallel processors like ‘Cell’, how do you unite these views?
[Laughter] “Well that’s a big question there. CPUs are becoming parallel. With Intel you have this hyper-threading technology which means you can execute two threads at once almost for free. And Intel and AMD are talking about having multiple cores on their chips. So you’ll get to see a CPU in a few years from now that can have 16 cores. This is not that much different from a GPU with 16 pixel pipelines if you think about it. The big difference between CPU and GPU technology is that on the graphics side you can do everything in parallel without dependencies on other stuff. So for rendering, the GPU is going to have a serious advantage over a CPU, maybe a factor of five to ten. Once you get down to every pixel shader computation in full floating point, at some point computation comes back and dominates again. So CPUS are going to become more efficient relative to GPUs in the future.
I can see a point in, seven to ten years out where a lot of computers don’t ship with any graphics accelerator at all because the CPUs are fast enough to do that. I can still see the really high end machines come out with graphics acceleration.â€
Speaking of CPUs, what are your thoughts on the Sony CELL processor? How easy will it be to program and how well will it run shaders?
"Well I don’t have any inside information on that— all I’ve seen is their patent filing which describes a system with 16 or more independent CPUswith their relatively small memory. I think it’s a very strange architecture. From my experience with the other consoles it’s really critical that every processor has some kind of uniform memory access so you are not having to dispatch DMA package everywhere in the system to feed data into little fixed sized memory spots. Otherwise programming just becomes a nightmare. I think for the cell processor to work you really need an architecture that’s a little bit closer to a traditional computer than this. The idea of 16 processors is very reasonable and is something you are going to eventually see from Intel and AMD maybe in seven years or so. As Moore’s law goes up you can fit more CPUs on a single die but you can’t do that and sacrifice general computing ability—you got to have a shared memory bus; something like the XBOX has with unified memory where both the graphics and CPU are accessing the same memory even though they have their local caches. I can see that [CELL] working but I think it’s going to be very careful and something that requires an enormous amount of R&D to get right. I’d hate to see version one of it come out and not be a general purpose computing architecture. It’ll be a nightmare to develop for a system where each processor has a megabyte or whatever and there’s no easy way send data back and forth between processor other than buddling up into DMA. I think it would be so difficult that you wouldn’t have any portability between that kind of a system and a PC or other traditional platforms."