Page 1 of 1
Thoughts on using main RAM as cache
Posted: Mon Apr 19, 2010 10:54 pm
by Krisonrik
Here is my idea. I know using main RAM is too slow for GPU local render. But here is why I propose this idea. VRAM is very expensive. And so most people have very limited amount of VRAM on their video card and there is no way to upgrade VRAM without just through the old one out and buy a complete new card. My idea is that using main RAM like how other program using HDD as virtual RAM. In case of VRAM ran out of space, the main RAM can catch the spill and maybe give User a warning message. Instead of what we get now. A hard crash of Octane. And with any big scene or even high resolution render, there is a good chance that people can crash Octane, and know how long Octane loads big scenes, it is just through 10-20min out the window and try again with guess works. So with this main RAM as a buffer, people can see the problem and without crash, be able to reduce things or textures in the scene and keep working. I think this would greatly increase Octane's stability.
The other thing I was thinking is, whether it's possible to let Octane render multiple mesh nodes at the same time and merged in one render. This can also increase flexibility and give whole thing more stability. Sometimes one big scene and trying to reload everything to fix one problem can be time consuming. If we can do it like normal 3D program does, load things that needs to be fix and leave the rest untouched, it would be a great work flow. Just some thoughts, not sure whether people agree with me

Re: Thoughts on using main RAM as cache
Posted: Tue Apr 20, 2010 1:31 am
by grimm
Unfortunately video cards just don't work like that. How it works now is that a job is set up on the host and then sent to the card. The card processes the job and notifies the host that it is finished. The host then requests the finished data to be sent back to it from the card. It would be easier to just check the size of the job and see if it will fit in the card's available memory before you send the job. The other problem is that all of this communication is over the relatively slow PCI bus. To get the most performance out of these cards you need to keep these transfers to a minimum. I think that currently there is no method for the card to access the host's memory, which would be needed for some kind of memory swap or virtual memory scheme.
Grimm
Re: Thoughts on using main RAM as cache
Posted: Tue Apr 20, 2010 8:31 am
by [gk]
Working under OpenRL ( Open raytrace language ) uses system memory and transfers extremly efficeiently with very low bandwidth.
This is why I hope Refractive software will contact Caustic at a point after the beta periode is over and head in that direction. Caustic has solved the issues you talk about, and further more using their API means that you can use both gpu + cpu + raytracecards that are lightning fast all in one go.
It would be wise.
Re: Thoughts on using main RAM as cache
Posted: Tue Apr 20, 2010 8:32 am
by radiance
Hi,
Yeah, the pci bus is just too slow.
even if the transfer speed would be fast enough, the delay to actually retrieve a piece of data (lag) is far too high.
also, you need to have the whole scene in your memory, you can't split geometry as otherwise the render will not be correct lighting wise.
Radiance
Re: Thoughts on using main RAM as cache
Posted: Tue Apr 20, 2010 8:35 am
by [gk]
Caustic has a solution to the bandwidth Radiance.
I realy hope you will consider this, they are great guys doing some crazy cutting edge stuff. More over - it works and its available.
Re: Thoughts on using main RAM as cache
Posted: Tue Apr 20, 2010 8:37 am
by radiance
[gk] -> it would'nt be very efficient if we had to drop everything we've developed already and start from scratch not ?
also, if we license APIs we won't be able to sell octane at such low prices anymore.
Radiance
Re: Thoughts on using main RAM as cache
Posted: Tue Apr 20, 2010 8:43 am
by [gk]
the good news is that you dont need to start from scratch, your engine can hook up to the caustic API, its a container for data management, its not a strict limited interface you need to do massive source codes to change to make it work.
I dont see its a good move to do it now, not at all, but when you have hurled the beta periode out I think it would be a good time. And yes, let me say it again, your engine wont have to change as its a wrapper.
You should contact Caustic regarding the API, I belive its free for development.
Re: Thoughts on using main RAM as cache
Posted: Tue Jun 08, 2010 3:39 pm
by jondhall
Cant't hurt to speak with them. What they can acheive with 100mhz dual processors is amazing. As is the work on octane of course

Re: Thoughts on using main RAM as cache
Posted: Tue Jun 08, 2010 5:16 pm
by GeorgoSK
Caustics are great guys, too sad they work mainly with Brazil or what was it there, visual output was dissapointing.