Programmers!! Dont kill me with a rocks!!! I am just user, but I have absolutely crazy idea. There are a lot of video memory in modern video adapters,which are much much more faster then common ram memory in our pc. And I thought, if it can be used (when it not busy) like a common ram memory (but much more faster) to load into it some important kernel parts or drivers it can very boost system performance, can’t it? Some time ago I heard that one programmer was working on program which could translate audio data on the language, which video card could understand (in textures may be? I don’t know…)!! Another words, he found out a way to hardware acceleration for sound operations throw…videocard!!! And I thought, if thes method can be applyed for regular long-long cycle operations which usually take much processor power, this will able to free processor!! and boost performance! Becouse usually our video card just stays, wihtout doing anything. I want to say again, dont kill me, i know it’s can be rathor crazy idea, but… may be not…?
I’m not the most competent person to answer this, but I’ll try anyway (duh! )…
Even though some kind of (rudimentary) programmability has been implemented on GPUs in the recent years, they are only suitable to process streaming data with algorithms that consist of relatively few instructions (and until recently without code branches). And even those GPUs (of the latest generation) that have the ability of conditional branching aren’t optimized for this in any way.
Current graphics processors still are very specialized beasts (mainly for 2d and as 3d scanline renderers)
To me, one indication that the programmability of current generation GPUs is quite limited is that there doesn’t even seem to be pixel shader algorithm to trans-code video formats into another one - a task that would definitely benefit a lot from a massive speed up that eight or 16 (well performing) parallel pipelines could offer. Or is there?
That would be a pretty neat thing to do, but I’m not sure it’s possible. Rudolf Cornelissen or Thomas Kurschel would probably be the guys to ask about that.
–DarkWyrm
Firstly, most modern graphics can and many new PCI-E ones do use system RAM - ATi’s cheap X800 has onlt 32MB onboard and uses the system RAM. As the graphics RAM is not much faster if any faster anymore
Secondly, a decent soundcard already does all its own audio processing. We just need to have ‘accelerated’ drivers for them.
If I’m understanding you correctly, then I believe that this has been done before. We discussed this idea in one of my computer engineering classes. During a lot of a computer’s operating time (when the user is not playing games, mostly) the processor and memory on a graphics card is idle. Some tests have been done offloading tasks into the video card’s GPU and memory to use like a second processor (one test we spoke of used the video card to run a video game console emulator, but was very difficult because GPU’s are very very specialized chips). The main problem that the testers had was that although the GPU and graphics memory could handle being used in this manner, the system bus was significantly slower than the system memory bus. The amount of time it took to transfer the tasks to the graphics card and back was longer than the speed increase the system received from offloading the tasks (since DDR memory is quite fast these days). With something like the new PCI express that’s coming out soon, this may be a concept to revisit, but I suspect that the speed issue will still continue to dampen the usability of this idea.
Also, I would avoid putting system files in this memory, since the system memory manager will not be in control of it. If the user launches a 3D game that uses the full capability of the graphics card, some of your core operating system files may be overwritten with graphics data from the game (which would be not good at all).
I 've understood. Thank you men.
:?: