Rendered at 23:02:29 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
keithwinstein 22 minutes ago [-]
Cool! You might like our paper/demo on ray-tracing 1 TB-geometry scenes using thousands of AWS Lambda workers spun up just for the job: https://r2e2.dev/
This is really neat! Especially the global illumination that passes ray data between nodes, much fancier than what we've done here. You could imagine each component as an actor that receives messages via async channels (though perhaps it's more deterministic than that?).
I think bursting on serverless for massively parallelizable problems is a really interesting use-case. We were partially inspired for this demo by one of our users doing energy simulations at massive scale, who built a library called Scythe for this purpose: https://github.com/szvsw/scythe
abelanger 37 minutes ago [-]
Some more resources on signed distance fields (SDFs), which I didn't know about until this demo:
I love Hatchet! A serverless render farm is such a silly idea, results coming in felt really cool though, I'd love to see this scaled up to frames of an animation.
ginko 1 hours ago [-]
Isn't exposing something like this to the web asking for huge cloudflare bills?
juliusgeo 37 minutes ago [-]
Yes, we have a lot of various infra credits that we are using to serve this. Cloudflare workers are pretty cheap, though.
meganoleary 53 minutes ago [-]
i can't stop creating cats
xyzsparetimexyz 51 minutes ago [-]
Yeah.. Or you could just use a gpu?
juliusgeo 39 minutes ago [-]
Unfortunately GPUs are also expensive. This is more so an exploration of the idea--there's a lot more performance that could be squeezed out of the actual rendering itself. Hatchet does let you use serverless operators with essentially anything that can serve two REST endpoints, though, so modifying this to use GPUs to render would be relatively trivial.
This was led by my former PhD student Sadjad Fouladi who did a lot of creative work involving swarms of short-lived serverless functions for video encoding and distributed LLM inference (https://www.usenix.org/conference/nsdi17/technical-sessions/...) and software compilation (https://github.com/stanfordsnr/gg).
This is really neat! Especially the global illumination that passes ray data between nodes, much fancier than what we've done here. You could imagine each component as an actor that receives messages via async channels (though perhaps it's more deterministic than that?).
I think bursting on serverless for massively parallelizable problems is a really interesting use-case. We were partially inspired for this demo by one of our users doing energy simulations at massive scale, who built a library called Scythe for this purpose: https://github.com/szvsw/scythe
- https://iquilezles.org/articles/distfunctions/
- The 2D version: https://iquilezles.org/articles/distfunctions2d/ (discussed here: https://news.ycombinator.com/item?id=46380054)
- How Zed uses (used?) SDFs to render their editor: https://zed.dev/blog/videogame (discussed at the time: https://news.ycombinator.com/item?id=35078464)