Search - User list
Full Version: ROP Fetch: Staged Hip File
Root » PDG/TOPs » ROP Fetch: Staged Hip File
waynewu
Hi!

Question about ROP Fetch:

We want to be able to stage a HIP file to a temporary location and then run that for the ROP Fetch with the original $HIP env set. Looking at the ROP Fetch's parameters/documentation, it looks like “External HIP File” is for running the staged file while “Reset $HIP on Cook” is for the setting $HIP part. However unexpectedly, you can't seem to set both at the same time. Is this intended?

Also in the “External Files” tab, there's a file dependency to $HIPFILE. I would expect the HIPFILE to be copied to PDG_SCRIPDIR, so I can use it in “External HIP File”, however it doesn't look like the HIPFILE is getting copied. Not sure if this is intended as well.


Thanks,

Wayne W.
chrisgreb
We want to be able to stage a HIP file to a temporary location and then run that for the ROP Fetch with the original $HIP env set.

Because of the $HIPFILE file dependency, the $HIPFILE will always copied to the scheduler working directory (pdg_workingdir) before the rop job cooks. However by default that working directory is set to $HIP, so there is no copy needed.

But if you change the working directory to for example $HIP/stage, the $HIPFILE (and all other dependencies) will be copied to that directory for the cook. In that case you would want to toggle on “Reset $HIP on Cook”.

“External HIP File” is unrelated to all this, it completely overrides the hip file for the job.
waynewu
Thanks for the explanation! Is there a recommended temp location that I can stage the hipFile (to not have to worry about the clean up as much)? I was thinking of using PDG_TEMP as the staging location, however it seems a little weird to set the PDG_DIR = PDG_TEMP in order for the hipFile to be copied to PDG_TEMP.

Another question: if we have a scheduler with Submit Graph as Job, it looks like all the schedulers execute this command:
        hip_local = os.path.expandvars('$HIPFILE')
hip_remote = '__PDG_DIR__/' + os.path.basename(hip_local)
cmd = '"__PDG_HYTHON__" "__PDG_SCRIPTDIR__/top.py" --report none --hip "{}" --toppath {}'.format(
hip_remote,
node_name
)

In this case, if we've set PDG_DIR to the staged working directory (e.g. $HIP/stage), then it's going to execute the staged hipFile which will make “Reset $HIP on Cook” on the ROP Fetch (w/ the custom scheduler) useless because $HIP/$HIPFILE points to the staged hipfile instead of the original one. Is there a way to pass $HIP/$HIPFILE correctly when doing submitAsJob? Or maybe it's a different case altogether?

Thanks,
chrisgreb
I was thinking of using PDG_TEMP as the staging location

Ya that might be problematic because by default the pdgtemp goes into the working dir, so it's circular. I'm not sure if that will work, might be worth submitting an RFE if you have problems and think it would be useful.

..because $HIP/$HIPFILE points to the staged hipfile instead of the original one.

This was actually fixed recently in 18.0.489
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