Search - User list
Full Version: Top geometry inside of a sop network woes
Root » PDG/TOPs » Top geometry inside of a sop network woes
Tom Mangold
Hi there,

I'm struggling a bit with getting started with pdgs.

In my pipeline I need to run single prims through a for each loop with an hda inside. While the task takes "only" 1-2 seconds, the amount of polygons 100 - 10000 will make it a really horrible thing to wait for.

Since compiling it with a complie block doesn't work and I want to get in touch with pdgs I try to use the top geometry node to make use of all the processors available.

Unfortunately it doesn't turn out to be straight forward. Most of the times I get cook errors, and when it works it takes even longer and the cores don't seem to be under workload.

So, if somebody can shed some light I'd be really glad. Right now I don't need to wedge anything. The prims carry all the info I need for the hda. In my example I just rotate the prims to keep it simple.

I guess it's one of the four nodes which lacks some data or isn't configured correctly. "Top geo", "geoimport", "hdapro" or the "localschduler".

If somebody could either explain or correct the hip file, I'd be really glad.

Please replace my hda with a quick test one of yours in case it doesn't work.

Cheers
Tom

P.S.: I need to include the top into my sop network.
tpetrick
TOP graphs have the same limitations as the rest of Houdini. They're not able to cook nodes in parallel unless you're using a compiled block and Invoke TOP, so the HDA Processor node in TOPs cooks out of process in order to run the work items in parallel. That means the TOP scheduler will spawn a separate Hython process for each work item in the node to cook the HDA, which incurs a bit of overhead. If your asset cooks very quickly, then most of the time will be spent spawning process instead of doing useful work.

You can enable batching on the HDA Processor node to group the work items together, so that multiple items are cooked in the same process. Or, you can make use of the new Services features to create a pool of Hython processes that get reused (https://www.sidefx.com/docs/houdini/tops/services.html) instead of recreated for each work item. This removes most of the overhead from spawning a process per work item, but still requires that PDG communicates information to/from a separate process to cook the asset. You'll need to add a service in the Tasks -> PDG Services menu as described in that doc pages, and enable it on your HDA Processor using the Service parms on that node (https://www.sidefx.com/docs/houdini/nodes/top/hdaprocessor.html#service).

Using my own .hda, I didn't get any errors in your file. What errors are you running into, and which build of Houdini are you using?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB