SIGGRAPH BoF re-cap and related news #123
randypacker
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello!
It was a great SIGGRAPH and so nice to meet lots of old and new friends again. Our Birds of the Feather, kindly hosted by the Academy Software Foundation went quite well, and while it was not recorded, we wanted to share some of the highlights we presented in that session for folks who couldn't attend or would like to reference what we discussed.
First, we gave an update as to where Open MoonRay stands.
Most encouraging are the number of folks who’ve have MoonRay running on systems completely outside of the DreamWorks studio environment and tooling. These efforts that flex MoonRay outside of our studio walls has contributed directly to improved build, configuration and documentation. Thanks to everyone who reports issues and solutions!
We’ve made great progress on improving our release process to streamline things both for internal and external contributions. Since the beginning, we perform security and FOSSID scans to all of our releases, and we continue to work on making it easy as possible to merge and release new updates.
We’re off to a great start with contributions coming in from individuals in the community and partner organizations, such as our friends at Intel, who integrated OpenImageDenoise into MoonRay.
In terms of new stuff, let's start with recent Build highlights. We’ve made an initial pass at MoonRay’s compatibility for Rocky9, from our current supported build of CentOS7. This will keep us up to date with the latest VFX reference platforms. In support of that, here’s a few of the updates that have come in in our most recent release.
In terms of features, most of these are driven by specific production needs, and below you can see that we’ve done quite a bit lately on improving Cryptomatte support, along with bugfixes and improvements to our shaders. We've also upgraded OpenImageDenoise to the latest version, which supports multiple GPU hardware in addition to the existing CPU denoising, which will be in our next release.
We've released a ton of documentation additions and updates. We’re nearly through our core set of documentation, taken from a variety of wiki pages and docs of questionable timeliness, and improved it all, adding videos and images to show off the features as best we can. This new documentation site has become our go-to for all things MoonRay, internally.
Additionally we've accepted our first individual contribution! Please send us your CLA if you wish to contribute. :)
Speaking of which, in collaboration with the Metal Ecosystem engineering team at Apple, we have MoonRay up and running seamlessly on Apple Silicon with full support for XPU mode using Metal. Thanks to Apple Silicon and its large unified memory pool that both the CPU and GPU can access, we have the ability to render large assets that are difficult to render when the BVH doesn’t fit in the VRAM of a discrete GPU. It’s amazing to see that we can run MoonRay comfortably on a laptop!
Currently implemented features are Moonray, moonray_gui, hdMoonray, hd_render and arras_render (local and multimachine mode), all with scalar, vector and xpu support. In progress is further testing and cleanup, build and regression testing and a bit more to polish it up. This will be released in a future update.
Here's a nice visual of the USD Kitchen scene in hdMoonray + Houdini with some very high sampling numbers on a Mac.
Here are also some demonstration videos, where we show MoonRay running in XPU mode, first on a MacBook Pro and then on a Mac Studio. Here's the Alab scene rendering at around 60% complete, and notice that denoising with Intel’s OpenImageDenoise is being toggled on and off in the command line. Be sure to watch the videos in 4K.
Lastly, here's arras_render working on a MacStudio cluster of 14 hosts. Full XPU mode, and the Bathroom renders in 15 secs. For reference, a single Mac Studio took 2:35 which is approximately 92% of linear scaling. Pretty good, and we’re still improving efficiency.
Switching gears, we then gave an update on Arras multi-machine rendering. Our colleague @toshi-kato spoke about distributed, multi-machine rendering for interactive lighting sessions. In the linked presentation, he specifically talked about two fundamental differentiators of multi-machine Arras/MoonRay rendering: multiplex pixel distribution (vs. tile-based dispatch) and ProgressiveFrame message for transferring image data between computations and clients. This is an incredibly scalable system for multi-machine rendering, and worthy to dive into.
Toshi also gave a live demo of Arras/MoonRay multi-machine rendering. Overcoming a pretty weak WiFi connection on site and using a 5G hotspot on a mobile phone to punch into the DreamWork's internal network through VPN, to run the demo over WiFi on his laptop. He gave a live, interactive rendering of the ALab scene using 7 mcrt backends with 600+ core (our team's development machines), and afterward also showed a pre-recorded video of the ALab scene using 28 mcrt backends with 3000+ cores rendering to the room. We also have another video of a variety of USD scenes to show.
Both videos demonstrate a new Arras feature coming in the next release, which is a telemetry overlay that visually provides a lot of info from each backend computation to the client, in addition to the rendered image. This benefits the user to better understand current complex multi-machine session conditions, without need to call complex APIs. As example:
That covers the gist of the BoF and thanks for reading! Our next planned conference is a more comprehensive view on Arras and our Open Source journey at the Ubuntu Summit hosted by Canonical in early November; stay tuned!
Beta Was this translation helpful? Give feedback.
All reactions