Skip to content

feat: added recipe for redshift-for-houdini on SMF #84

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: mainline
Choose a base branch
from

Conversation

yuanmich2
Copy link

What was the problem/requirement? (What/Why)

There was no example for Redshift on Houdini.

What was the solution? (How)

This pr adds a conda recipe for Redshift on Houdini

What is the impact of this change?

Now everyone can see an example of how to build a conda package for Redshift on Houdini

How was this change tested?

I performed some tests on my own farm

Was this change documented?

The sample comes with its own readme


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@yuanmich2 yuanmich2 requested a review from a team as a code owner February 25, 2025 02:33
@yuanmich2 yuanmich2 force-pushed the redshift4houdini_recipe branch from 149cf3b to ea24ca2 Compare February 25, 2025 02:35
joel-wong-aws and others added 6 commits March 24, 2025 13:07
* Update apply-conda-queue-env.py to remove trailing whitespace.
* Clean up conda queue environment samples.
    * Create virtual environments in directories with names randomized
      by `mktemp`.
    * Capture the environment activation by using `conda run` instead of
      `conda activate`. Deactivate by calling eval "$(conda shell.bash deactivate)".
      These changes let the environment work without `conda init`
      changes working in non-interactive contexts.
    * Use Python instead of bash $(()) expressions for math.
    * Add `--quiet` option to `conda create` and `conda install`
      commands, to remove incremental progress updates from the log.
    * Add a `conda list` call to the 'improved_caching' env enter when
      it is reusing an environment, so that it is easy to look at the
      contents of the virtual environment from each job's log view.
    * Fixed a failing case in the 'improved_caching' env exit, due to
      grep return exit code 1 when no cached environments exist.
* Update the job_dev_progression README to include specific instructions
  for both running the job on Deadline Cloud and running the job locally
  with the Open Job Description CLI.
* Update the job dev progression code to use `mkdir -p` so that repeated
  runs on the same workspace succeed.

Signed-off-by: Mark Wiebe <[email protected]>
Signed-off-by: Michael Yuan <[email protected]>
This sample comes in three parts:
* A CloudFormation template to deploy a CUDA Deadline Cloud farm. The
  deployed farm is general to any Linux CUDA workload, and an easy way
  to get a farm for this sample. The deployed farm includes two queues,
  one for package building and another for running production jobs.
* A NeRF Studio conda package recipe. While NeRF Studio is an open
  source project, it and many of its dependencies do not have packages in
  the conda-forge channel. This recipe builds a package called
  nerfstudio that bundles together these dependencies and NeRF Studio.
* A job bundle containing a 3D Gaussian Splatting pipeline. The job
  bundle focuses on simplicity over features, containing just one task
  to run the whole pipeline.

Each part includes README content with instructions on how to use it,
and cross-links between the different parts so that if you land on any
one of them you can navigate to the others.

Signed-off-by: Mark Wiebe <[email protected]>
Signed-off-by: Michael Yuan <[email protected]>
@yuanmich2 yuanmich2 force-pushed the redshift4houdini_recipe branch from 942a710 to 93923b2 Compare March 24, 2025 20:07

Recipe that builds Redshift for Houdini and integrates it with the existing Houdini package available to SMF workers.

This recipe largely follows the recommendations of the official docs on scripted installs: https://support.maxon.net/hc/en-us/articles/4687177301788-Scripted-Install-Instructions#h_01HHJ6B4A2PACXKKS7JY1M0V7D
Copy link
Contributor

@karthikbekalp karthikbekalp Jun 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, can we add some more description on how one can create the archive file for this recipe? Similar to something like this: https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/conda_recipes/cinema4d-2025/README.md

Without some instructions it can get a little hard for someone to build the recipe.

Copy link
Contributor

@karthikbekalp karthikbekalp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added some comments that would prevent someone from trying to build this on their own.

Feel free to take a look at other recipes in this folder and it can help you get more of an idea on how to write a recipe for Deadline Cloud. :)

about:
homepage: https://redshift.maxon.net
summary: >
3D computer animation, modeling, simulation, and rendering software
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

version: ${{ version }}

source:
- path: /usr/redshift #the default redshift install path. Assumes redshift has been installed on this computer
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally we follow a pattern where we store the archive files into the archive_files folder. See

url: archive_files/{{ display_name }}_{{ version_major }}_{{ version }}_Win.zip # [win64]

This will allow a consistent pattern and allow us to upload the artifacts to deadline cloud to build it as well.

export RED_LOCATION=\$CONDA_PREFIX/redshift

export REDSHIFT_COREDATAPATH=\$RED_LOCATION
export REDSHIFT_LOCALDATAPATH=\$CONDA_PREFIX/redshift_local_data
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, any reason there are different path separators? \ and /?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The \ characters are there to escape the $ characters. Only the / are path separators

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants