Flip Simulation Lacking Memory - Video Graphics Card Options

   5337   8   1
User Avatar
Member
9 posts
Joined: Feb. 2015
Offline
I have a Flip simulation with foam/spray/bubbles. The original Flip simulation is 800,000 particles and works, but takes about 10GBytes of my computers 12GBytes of memory while it's computing. This is without foam/spray/bubbles. Now if I add these components the memory runs out and Houdini gives me grief…Unresponsive.

I have a poor graphics card. GeForce GTX 750, but I would like to get something like a Quadro 6000 or Quadro K4000 if it will help me with my simulations. I need a larger ocean and I'll easily run out of memory even without foam/spray/bubbles.

My questions are:
(1) Will a better graphics card help me with my CPU memory problem or do I simply need more CPU RAM for my computer?
(2) Are these cards overkill for Houdini? My goals are to have larger and faster simulations plus faster render times.
(3) Also, if I render out each frame to a bgeo file, will this solve my memory issue? It seems like it would speed up the computations of the foam/spray/bubbles if I pre-render the water to a file. But for each frame, my computer still has to deal with 800,000 points of water which eat up memory.

Any help would be appreciated.
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Hi, System ram and CPU is what you need coupled with a decent card. My workstation for instance is is a duel xeon 12 cores , 48 gigs of ram and a quadro 4000 .

If your limited right now you should be writing out all your data at each step. ie write out the flip to disk then process the foam . If you read the docs on the white ware sim, it tells you to do this.

Rob
Gone fishing
User Avatar
Member
2529 posts
Joined: June 2008
Offline
Jeff,

You might want to check out the YouTube Houdini Hallway Flood tutorial. It covers the topics you mention and what circusmonkey states about writing out each part of the sim in stages.
https://www.youtube.com/watch?v=QJAQn_7F0aw [youtube.com]

I would think the GTX is going to be better than a Quadro as far as raw GPU power. Remember to turn on UseOpenCL inside the FLIP Solver node to actually make use of this. This is off by default and only came into existance with the R14 release.
Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
9 posts
Joined: Feb. 2015
Offline
I watched his tutorials, but don't recall him separating them out like that. I'll take a look again as I haven't watched that in a while.

It sounds like I can save the point data to bgeo's for the water. Then import the water sim and do the foam/bubbles. Then the spray. I would do this with the DOP I/O node that's already created when I make a Flip Tank of any kind. Sound correct?
User Avatar
Member
2529 posts
Joined: June 2008
Offline
Once you write out a .bgeo sequence you can use a simple File node to read it back in for playback.

Basically you want a scene that generates the simulation and then a scene that plays back the exported .bgeo files. This way the playback scene is also the render scene and can be freely scrubbed without having to weigh down your system with constant simulation reiterations.

I typically skip the step of writing out .sim files because I don't need to deliver or transport my scene to another computer yet. Just keep the White water in the same scene file as the main FLIP simulation. You can ‘solo’ each element (foam, spray, bubbles) from the white water and export a .BGEO sequence for each one if you like or just lump them all together.

If you are already familiar with the youtube video try revisiting the series around episode 6 or 7. I think that is where he talks about white water exporting and playback performance.
Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
9 posts
Joined: Feb. 2015
Offline
I'm using a splashtank for testing out exporting. In the DOP I/O node at the top of the list in the splashtank_fluid node I render out the fluid (not bubbles,foam or spray), then after it's rendered select the checkbox “Load from Disk”.

This should use the cached files from that point on yet still retain all the information that the whitewater simulation nodes need, correct? It should also free up a lot of RAM to do the whitewater simulation. But how do I clear the RAM caching of my fluid or do I even have to?

Then in the whitewater_source node, there's a whitewatersource_cache node to export whatever particles I have enabled (foam, spray, bubbles) in the whitewatersolver1 node. This way I keep everything separate.

Then in a new Houdini file, I use a geometry node and the file node inside that to load the .bgeo.sc files back in and use a merge node to collect all four different types of particle. Then use the VDB tools described in the Hallway tutorials to build the meshes. Or use separate VDB tools to create one mesh for the fluid, another for the foam, another for the bubbles and I think spray is left as particles.

Is this the typical workflow?

Why does Houdini 14 default to .bgeo.sc instead of .bgeo ?
What's the difference anyway?
User Avatar
Member
387 posts
Joined: Nov. 2008
Offline
From the help:
http://www.sidefx.com/docs/houdini14.0/news/14/geometry [sidefx.com]

New Blosc compression for geometry files (.bgeo.sc) is much faster than GZIP.
User Avatar
Member
9 posts
Joined: Feb. 2015
Offline
Ah thanks. That makes more sense. (SIDE NOTE—The next two posts are problems I ran into but figured out as I played around) No help is needed for this post and the next. I'm leaving it here so others can be helped.

So I rendered out 20 frames to see if they would import and it doesn't seem to import. I see the .bgeo.sc files and the I didn't change the path at all. I turned off caching in the splashtank_sim and whitewater_sim, but the fluid doesn't seem to import. I have to scrub the timeline back to frame 1 and proceed forward for it to calculate, but if I scrub backwards even a frame, all the progress is lost which makes me realize the file loading isn't working.

What's also odd is that I have the display flags turned off on all my whitewater nodes (whitewater_source, whitewater_sim and whitewater_import). The whitewater doesn't show up when I'm at the obj level but when I dive into the splashtank_fluid, then the whitewater particles show up. Maybe this is normal, but I have the caching turned off for the whitewater_sim and I've disabled the foam, spray and bubbles in the whitewater_sim node–>whitewatersolver1.
Edited by - March 3, 2015 19:21:54
User Avatar
Member
9 posts
Joined: Feb. 2015
Offline
Ooops. I just realized I'm not seeing the whitewater particles, I'm seeing the imported geometry just as expected, but the particles are black instead of blue. Since the foam and spray were all black particles I got confused.

At the same time, my loaded particles are showing in black which is ok. But I also see the simulated particles from the DOP network and this acts as I said before. Meaning that when I'm in the splashtank_fluid, I can see my loaded particles and scrub the timeline and their they are in real time and as black particles. But I also see the blue particles from whatever frame was last calculated when I started at frame one and scrubbed forward. Once I go back on the timeline, this last calculated frame of blue particles just stays there with the loaded particles only moving as I scrub the timeline. Unless I go back to frame 1 and only scrub forward, then the calculated points in blue and the loaded points in black line up perfectly.

Also when I go back to the obj level, the loaded points don't show up. Ooops, I just figured out I had to set the display node in the DOP I/O node to display the points outside at the obj level. Now it's working well.

I'm leaving these two posts of problems in case others run into the same situations as I did. I'm slowly learning.
  • Quick Links