Does anyone else also have experienced slower simulations on TOPs in relation to a normal ROP geometry? Most of my simulations are much slower on TOPs kind more than double, I am missing something?
I am on Linux with houdini 18 build 416.
Thanks.
tpetrick
There are a few things to consider:
- Make sure All Frames in one Batch is enabled on your ROP Geometry if you're running a simulation, otherwise each work item will be run individually and the jobs will collectively do an N^2 amount of work.
- ROP Geometry work items in TOPs cook out of process. If you work items are only doing < 2s worth of work each, then you'll spend most of the time spawning processes. Even if you're writing sim source caches which don't need to write sequentially, you probably want to set Frames to Batch to something larger than 1 if the per frame workload is small.
- Because the work items cook out of process, they're starting from a freshly loaded copy of the .hip file with no existing caches. If you've already cooked part of the sim in your Houdini session with the viewport, using a regular Geometry ROP may just write out that cached data to disk. For a fair comparison, you'll need to compare TOPs to a fresh Houdini session that has not yet cooked any of the sim data (e.g. load the .hip in manual mode)
There will be overheard from running out of process, but it should be quite small. For example, in the $HH/houdini/pdg/examples/top_rop/rop.hp example file the smoke_sim node takes 1:09 to cook directly using the underlying Geometry ROP and 1:13 seconds when cooked through TOPs.
If you have a file the demonstrates the issues you're having we'd be happy to take a look.