> [!abstract] Summary > Collected **feedback** on the 2026 OSMIUM pipeline from **Thomas Spony, Thomas Milcamp, Arthur Cauchois**, and **Cyril** (farm/network analysis). Issues span tooling (USD path replacement, USDcat helper), rendering (SSS, denoiser, missing folders), naming conventions (raw AOVs, UDIMs, materials, USD product names), Prism (copy-to-global, plus-render, Nuke plugin), farm performance (texture optimisation, machine limits, worker throttling, low-priority groups), and admin (rooms for next year). --- # πŸ§‘β€πŸ’» Feedback β€” Thomas Spony - Need a **tool to replace the path in created USDs**. - Need a **`usdcat` helper** more user-friendly than raw CMD. --- # 🎬 Feedback β€” Thomas Milcamp (2026 Pipeline) - **SSS rendering currently broken** β€” no issue in the viewport, but impossible to render a sequence. - **USD pipeline works perfectly** β€” the only missing link is connecting back to the **animation exported from Maya**. - **`renderman xpu` vs `xpu-cpu` vs `xpu-cpu`** β€” confirmed: it's an XPU engine render with the specified component. - **Metalness on RenderMan** β€” need a solution. `PxrMetalWorkflow` works correctly with a `PxrLayer`, but impossible to get the same result with a `PxrSurface`. --- # 🎨 Feedback β€” Arthur Cauchois (2026 Pipeline) ## Naming convention for raw AOVs (no anti-aliased filter) We found a way to anti-alias an AOV by adding an extra Render Var and writing the same source name as the original AOV (`__depth`, `__pworld`, etc.) β€” we can then rename its label. **Question:** what naming convention should they have β€” `rawDepth`, `rawPworld`, etc.? ## Naming convention β€” UDIM If **no UDIM**: - `XXX_type_assetName_resolution_textureType_colorSpace.1001.exr` by default? - Or just `XXX_type_assetName_resolution_textureType_colorSpace.exr`? ## PureRef not installed Explicit. ## Bridge Quixel not installed We can use **FAB**, but that locks us at 8K and forces manual resize. ## RenderMan denoiser Have we found a way to **automatically launch** the denoiser after a render finishes (Topnet, Python, Deadline…)? > [!tip] See > [[TOOLS/Notes/Deadline Renderman Denoiser - Loris Eck|Deadline RenderMan Denoiser β€” Loris Eck]] β€” manual + automatic setup options. ## Prism Plus doesn't render cryptomatte and XML Prism LOP render doesn't render cryptomatte (probably because cryptomattes are in separate EXRs). Same for XML files. ## Prism with Windows 11 Not sure why, but we have to launch via `"C:\Program Files\Prism2\prism.bat"` β€” can't pin Prism to Start or taskbar. Not a major issue, but worth checking. ## Export lighting in USD Exporting lighting in USD could be a **+** for the pipeline β€” lighting could live in the environment scene so the env artist always has the latest lighting in their scene. ## Having an ingest department Currently we go through many scenes (modeling, ingest modeling, lookdev, etc.) and a small modeling retake means walking all scenes to update versions. The 5th-year team raised this. An **ingest department** could be an option β€” but we're unsure how useful it would be vs. new issues it would create. ## Prism β€” Copy to Global Impossible to *Copy to Global* from Prism β€” we have to manually copy files into `DATA_PFE`. ![[image-10.png]] > [!tip] Workaround > See [[../PROTOCOL/PRISM/Notes/PRISM Copy to global|PRISM β€” Copy to Global workaround]]. ## Material nomenclature The material naming convention feels overly complex. Unclear how `matType` is useful β€” we're already creating shaders based on material type. ![[image-9.png]] ## Remove versioning and department from the USD product name We discussed removing the **version** from the primitive name (not the file). Removing the **department** too would make ingesting lookdev and animation much easier if they share the same name format (`XXX_type_assetName`). This would greatly simplify the **environment workflow** when updating to new versions β€” no need to manually update collections, stage manager, etc. It also makes more sense for the prim to not carry department/version-specific naming. Left β†’ current version. Right β†’ what we propose: ![[image-5.png]] ![[image-6.png]] ## Plugin Prism β€” Nuke Nuke crashes instantly if the Prism plugin is installed. Workaround: remove `menu.py` in `.nuke` to launch Nuke without the Prism plugin. > [!tip] See > [[TOOLS/Notes/PRISM NUKE CUSTOM PLUGIN - Loris Eck|PRISM Nuke Custom Plugin]] β€” Loris's plugin replaces this. ## RenderMan β€” folder missing Rendering fails if the output directories (EXRs, AOVs, cryptomattes, etc.) don't already exist, even in 20.5 if I don't use the **PRISM LOP RENDER** (don't know how to use Tops with it). I also can't render my cryptomatte / XML β€” PRISM LOP RENDER overwrites the output paths. > [!tip] See > [[TOOLS/Notes/Folder Generator - Arthur Cauchois - Houdini 20.0 HDA|Folder Generator HDA]] β€” auto-creates the missing folders. ## Deadline β€” repository not selected Can't open Deadline; also doesn't work with Prism LOP Render β†’ *No Repository Selected*. ![[image-2.png|458x348]] ![[image-3.png|514x348]] ![[image-4.png|973x302]] ## Next year β€” rooms Do you know when we'll be able to choose our rooms for next year? --- # πŸ–₯️ Feedback β€” Cyril (Renderfarm & Network) > Following an in-depth analysis of the renderfarm and the observed network saturation issues, several main causes were identified: > - Massive simultaneous data loading. > - Excessive worker memory use (peak at **72.73 GB**). > - Intensive network-storage access (**589 files** for **14 GB** of textures read in **31 minutes**). > > These caused significant network congestion, evidenced by spikes in TCP connections on the server. ## Priority Recommendations ### Asset optimisation β€” especially textures - Set up a **texture preparation pipeline** (tiling, mipmaps). - Train students on **texture optimisation** (appropriate resolution and formats). - Eliminate duplicated/unused textures in scenes. - Build an **asset-verification script** before submission. ### Machine limit - Configure a **`ConcurrentTasksLimit`** in Deadline between **30–40 machines**. - Tune based on observations over the next 24–48 h. ### Progressive worker startup script - Develop a script that activates workers in **waves between 19:00 and 21:00** (in progress with Gregory & Valentin). - Stagger startups with **5–10 s intervals** between workers. - Prioritise the most performant machines for the first startups. ### Retire old PCs from the farm - Identify machines whose performance is **<50 %** of the average. - Create a `low_priority` group in Deadline for them. - Reserve them for lighter tasks, or pull them out entirely. ### Daily farm meeting - 15-minute daily check-in between student referents and supervisors: - Overnight render summary. - Analysis of problematic job parameters. - Error feedback for immediate correction. - Priority render planning. ### Stalled / errored worker tracking - Create a **dashboard** of `stalled` or errored machines. - Build an automatic diagnostic script for the farm. - Establish a reporting process to the IT team. ### Room reservations for farm in daytime - Establish a room reservation schedule on **Hyperplanning**. ## Immediate Objectives (24 h) Focus on the highest-impact measures: 1. **Set machine limit to 35** in Deadline to reduce simultaneous load. 2. **Implement throttling** to stagger worker startup. 3. **Optimise in-flight scenes** by identifying and fixing critical texture/asset issues. Continuous network-metric monitoring will track the impact and let us adjust strategy. > *β€” Cyril* --- # πŸ”— Related - [[OSMIUM MOC|OSMIUM MOC]]. - [[DEADLINE/DEADLINE MOC|DEADLINE MOC]] β€” farm context. - [[PIPELINE/PIPELINE MOC|PIPELINE MOC]]. - [[../PROTOCOL/OPTIMISATION/OPTIMISATION MOC|OPTIMISATION MOC]] β€” many points map directly to this. - [[TOOLS/Notes/Deadline Renderman Denoiser - Loris Eck|Deadline RenderMan Denoiser]]. - [[TOOLS/Notes/Folder Generator - Arthur Cauchois - Houdini 20.0 HDA|Folder Generator HDA]]. - [[TOOLS/Notes/PRISM NUKE CUSTOM PLUGIN - Loris Eck|PRISM Nuke Custom Plugin]]. - [[../PROTOCOL/PRISM/Notes/PRISM Copy to global|PRISM β€” Copy to Global workaround]].