HOUDINI - LOPs Submitter - Proper Local Testing Procedure for Husk Renders - GridMarkets Pipeline 2.0

HOUDINI - LOPs Submitter - Proper Local Testing Procedure for Husk Renders - GridMarkets Pipeline 2.0

Introduction

When testing a scene locally for rendering with Husk, it is important to do so from the command line rather than from a USD Render ROP inside Houdini.  The Houdini UI, as well as the USD Render ROP node itself, do a LOT of heavy lifting when doing renders which do not occur while using Husk directly. 

Local Testing Procedure

Whether you are testing before submitting or debugging an issue after getting bad results back, it is important to test in a way that is as close as possible to how renders are done on GridMarkets.  Here is a detailed step by step guide for testing in Windows.  The general procedure is the same regardless of OS, but may require some tweaks such as what command line interface to open or where files are installed.  Default install locations for reference, from SideFX's help on installation:
Linux
On Linux, the default Houdini installation path is /opt/hfsX.Y.ZZZ.

Mac
On macOS, the default Houdini installation path is /Applications/Houdini/HoudiniX.Y.ZZZ.

Windows
On Windows, the default Houdini installation path is C:/Program Files/Side Effects Software/Houdini X.Y.ZZZ.

Instructions

Below is the step by step instructions specifically for Karma in Houdini 20.5.278 on Windows.  Please adjust Houdini version numbers and commands as needed for your installation and OS.  If you are using a renderer other than Karma, please get the information from the analogous parms for that renderer.
  1. Open your Command Prompt/Console.  On Windows, search cmd on the start menu and select the best match.
  2. Type in cd "C:/Program Files/Side Effects Software/Houdini 20.5.278/bin".
  3. Type in husk -f 1 -n 5 -o "
    1. -f # refers to the frame number to start rendering from, in this case, frame 1
    2. -n # refers to how many frames to render from the starting frame, in this case 5 frames
    3. This will result in frames 1,2,3,4,5 being rendered
    4. -o will be the output file, the next steps will fill it in.
  4. In Houdini, on your Karma Render Settings node, middle mouse click on the Output Picture prim to evaluate the path.
  5. Copy the full path from the Output Picture.
  6. Paste the string into the Command Prompt then, using the left and right arrow keys and backspace, replace the frame number with the appropriate $F# variable.  It will look something like this now:
    1. husk -f 1 -n 5 -o "Z:/Big Project/render/final/final2/final zeta/ThisIsReallyTheFinalRenderTimeIAmRenderingThis.$F4.exr" "
  7. On the GridMarkets Submit node in Houdini, middle mouse click on the Husk Controls > Output File parm to show the evaluated file path.
  8. Select the evaluated path completely and copy it.
  9. Paste this string at the end of the command line, so now it will look like this
    1. husk -f 1 -n 5 -o "Z:/Big Project/render/final/final2/final zeta/ThisIsReallyTheFinalRenderTimeIAmRenderingThis.$F4.exr" "Z:/Big Project/Houdini/Scene Files/__render__.usd"
  10. Press the return (enter) key and you will get a bunch of messages from Husk depending on what renderers you are using or have installed.
  11. Right click on the task bar at the bottom of the screen and select Task Manager from the menu.
  12. Click More Details if your task manager is not expanded, then select the Details tab at the top.
  13. Sort by CPU usage and you should see husk.exe at the top of the list.  This means that the render is running.
  14. Watch the output folder for the results as they complete.
When rendering this way, it would be useful to turn on Snapshots so you can see some progress as the renders complete.  To do this, add the following to your command line between husk and -f.
  1. --snapshot 60 --snapshot-path "Z:/Big Project/render/snapshots/" --snapshot-save-mode number
    1. This will save a snapshot of the currently rendering frame in the /render/snapshots/ directory every 60 seconds and will keep all of them
    2. If you only want the most recent snapshot, set the --snapshot-save-mode to off instead of number or omit it entirely.

Alternative

Clicking the GridMarkets Submit LOP > Debugging > Print Husk button will give a popup window with a functional Husk command which can be used for testing, but it may have superfluous/extra flags and will need slightly tweaked before it can work properly.
  1. Follow steps 1 and 2 in the above instructions.
  2. Paste the string given by the Print Husk button into the command line.
  3. Using the left and right arrow keys to navigate, make the following changes to the pasted string:
    1. Replace all ' with "
    2. Right after husk add the appropriate -f # and -n # flags as described in 3a and 3b above.
  4. Follow steps 10-14 from the above instructions

Additional Resources

  1. LOPs Submitter Technical Documentation - GridMarkets Pipeline 2.0
  2. HOUDINI - LOPs Submitter - Proper Local Testing Procedure for Husk Renders - GridMarkets Pipeline 2.0



    • Related Articles

    • HOUDINI - LOPs Submitter - Proper USD Authoring for Husk Rendering - GridMarkets Pipeline 2.0

      Introduction When the GridMarkets Submit > GridMarkets Controls > Project Management > Use Husk option is activated any jobs submitted will be run directly using Husk on the GridMarkets machines. Here are some things to know when starting rendering: ...
    • LOPs Submitter Technical Documentation - GridMarkets Pipeline 2.0

      Part of the design principles for the new submission pipeline is a focus on simplicity, but also the ability to integrate directly into a new or existing pipeline within an studio. The code comes primed with the default values (if any) for nearly all ...
    • HOUDINI - Tutorials for GridMarkets

      Here is a list of tutorials that can help solve issues and get you started using GridMarkets Houdini service. GridMarkets Quick Start Tutorials Quick guide to submitting a job: Brief introduction to the basic setup for a simulation submission: A ...
    • HOUDINI + REDSHIFT - Render optimizations

      Summary This article explains the process of pre-converting textures to help decrease render times when rendering with Redshift. The following topics are covered: Pre-Convert Textures - References for converting textures locally. Upload Pre-Converted ...
    • GridMarkets PDG Support

      Overview Support for TOPs/PDG on the GridMarkets cloud is still under active development, but we decided to release this experimental build of the toolset as we are comfortable with the stability and pipeline efficiency of the build. As a first ...