2nd Processor As Gpu


thelamer

ARRR I'm A Pirate
Joined
Dec 9, 2005
Messages
393
Age
40
Location
Lake Zurich IL USA
Website
www.skankpost.com
Now I have no idea the actual differences in architecture between a standard arm processor and an older GPU .

But what I was thinking about is that every time a GPU is explained to me people ussually say it is basically a second processor devoted to 3d rendering .

So what I was thinking about is , is it possible to utilize the second processor on a GP2X to have it emulate an older GPU ( lets say a voodo 1 ) in order to allow the unit to be able to support simple openGL based games . Like lets say tronGL or TuxRacer or Quake 1 antialiased ???
 
ARGH :blink: *chokes and faints*... OK, seriously, this has been talked over and over. Nobody knows how to use the second processor efficiently with linux preventing the usage of direct hardware access. AFAIK it's not at all possible to do something like this especially since there seems to be some sort of a "bottle-neck" effect concerning the usage of the memory in connection with both processors running at the same time.

I am not entirely sure, though. The second processor has been mentioned alot in association with emulation and it is pretty certain that there will be no real speed gain for any emulator by using both processors.

The Vektar guy is apparently using the 2nd processor to do some sound tasks while rendering the game and such but I can't imagine it to be used as a gpu... also it would have to directly access the video ram which it can't...
 
Quake 1 with AA would be c00l10, but the second processor isnt a graphics chip in disguise. Graphics, even 2D graphics, get updated constantly, and as people frequently mention, it takes time for the first processor to tell the second processor what to do and to access memory and/or the file system for that matter, which is why it is suited better for long-term jobs, like playing sounds or decoding videos.

I think? Thats the general impression i've been getting :blink:
 
Vincent already does OpenGL in the GP2X. The author eas also intending to implement the second processor to a certain extent.
As far as I know Vectar is going to use the 2nd CPU for audio decoding.

Payback is also going to use the 2nd CPU, (the demos are currently single CPU), but who knows what for.
 
well, you could say that a 3d chip is generaly the opposit to an arm, a fast clocked, power eating, floatingpoint monster.
while arms are usaly slow clocked powersaveing fpu less thingees.
 
Yeah, rather than considering the second core as a potential GPU, I would be more interested in investigating it as a fixed point math crunching machine and get the majority of a reasonably basic 3D engine running on the main CPU.

I'm not sure the what most sensible way to remove the obvious bottle necks would be though, perhaps sending a pre-culled section of the scene to the second core, along with a list of operations which need to be calculated for the next frame. I haven't looked into how much memory that 2nd core has to work with though, I expect the scenes would need to be rather small.
 
As PokeParadox said, Vectar is going to use second CPU for decoding audio. In emulators you can get a major speedup when you turn off sound, then how about putting all the sound work on the second CPU? Mayby it's impossible because of the need of many memory transfers, I'm not sure. Would it be possible and effective?
 
kardasan posted on May 8 2006 at 04:18 AM said:
As PokeParadox said, Vectar is going to use second CPU for decoding audio. In emulators you can get a major speedup when you turn off sound, then how about putting all the sound work on the second CPU? Mayby it's impossible because of the need of many memory transfers, I'm not sure. Would it be possible and effective?
Even the free version of Vektar uses the second CPU for audio decoding and mixing. The commercial release may use it for more stuff, I don't know. Audio is very low bandwidth.

Personally, I believe that the communication "bottleneck" and memory bandwidth limitations are overstated, and the second processor should provide a huge boost to a reasonably designed application. The trick is designing the application to use two independent processors in a reasonable way -- finding a task that can be done in parallel with the "main" program that doesn't require too much data to be communicated back and forth. In an emulator, using the second processor for an independent system like a graphics accelerator or sound chip seems like a promising approach. The problem is keeping the processing sufficiently synchronized.

I think developers will figure out effective ways to use the second processor as time goes by. I certainly don't believe it is crippled or useless, it's just difficult.
 
Last edited by a moderator:
Back
Top