How to use PDG_TEMP and PDG_DIR

   3323   2   2
User Avatar
Member
12 posts
Joined: June 2016
Offline
I'm very new to PDG, so I'm sure I'm just doing something wrong.

In the documentation for Dependency Graphs it suggests using file paths relative to PDG_DIR here: https://www.sidefx.com/docs/houdini/tops/paths.html [www.sidefx.com]

As a test I tried making a topnet with a ropmantra node in it. The filepath for the ropmantra node is:
$PDG_DIR/render/bloop.$F4.exr

When I cook that node, the exr ends up here: C:/Users/thomp/__PDG_DIR__/render/bloop.0001.exr
This is not at all expected behavior. No matter what I put in the scheduler as the working directory, it always ends up there.

Interestingly, when I try viewing the task output it fails, but the error indicates it's looking in the directory it should be looking in. The working directory I specified in the scheduler node.

I've tried using __PDG_DIR__instead of $ notation but the same thing happens. I've also tried on Windows and Linux with the same results. I'm using Houdini Apprentice Non Commercial 17.5.293.

Does anyone know what I could be doing wrong? This seems like an extremely common use case.

Thanks!
User Avatar
Member
603 posts
Joined: Sept. 2016
Offline
For Houdini nodes you should just use paths relative to $HIP, this will work with the ROP workflows.

$PDG_DIR is added to the Job's environment which is useful for non-houdini work.

__PDG_DIR__ is substituted by the scheduler when command-lines are spooled. This only works in the command itself, not in Houdini parm values generally. The exception is that TOP nodes pass file paths around via resultdata, and those file paths are usually based on __PDG_DIR__ so that they can be resolved in a heterogenous farm setup (cross-platform or whatever)
Edited by chrisgreb - July 5, 2019 10:05:39
User Avatar
Member
12 posts
Joined: June 2016
Offline
Thanks chrisgreb! That clears some things up. I think it may be helpful to make it explicit in the help section what nodes $DG_DIR will work for and which they won't. I'll stick to $HIP for anything regarding ROPs.
  • Quick Links