5 ms·
For doing production VFX shots, unless there's fur/hair or volumetrics involved, you're pretty much IO constrained in terms of pulling in textures and paging th
by berkut 12y ago
For doing production VFX shots, unless there's fur/hair or volumetrics involved, you're pretty much IO constrained in terms of pulling in textures and paging them in memory.
Often scenes can have > 300GB of textures total. Out-of-core rendering is not something that GPU renderers can do very well yet (redshift can do it a bit), so the 12GB limit on GPU memory is a huge problem. Arnold and PRMan both have deferred shading which means for GI they can re-order texture requests for similar texture mipmap levels to reduce the swapping of textures needed. I'm not aware of any GPU renderers that can do that as of yet.
On top of this, geometry assets are always overbuilt these days, with millions of polys/subds, and often multiple displacement layers on top of this. This geometry requires even more memory.
And the biggest studios are rendering deep output, requiring even more memory for the output files as more of the render samples need to be kept in memory for the render duration.
And while GPUs are faster, they're not THAT much faster for raytracing - a Dual Xeon top end CPU can almost (85% of ) match a K6000 at pure ray/triangle intersection speed.
Where GPUs can win is the fact it's a lot easier to cram multiple GPUs into a single workstation than get a 4 socket CPU system.
But in a renderfarm, this isn't an issue.
- astrodust 12y agoIn a traditional render farm that's not an issue. As the new supercomputing centres have shown, there's a huge push to add massive amounts of GPU power to these because it's more cost effective. I'm not saying GPU rendering is easy, it's way harder to do correctly because of memory constraints, but the performance of GPUs over CPUs (compute per watt, compute total) is a gap that's only getting wider. It's easy to add a few thousand more shaders, just add another card. Not easy to strap on another 12-core chip, you need to engineer from the ground up for that. A GPU also has access to all system memory via DMA, so that shouldn't be an issue. It's just going to be hard to coordinate that data transfer in a performant way.
- berkut 12y agoIn a traditional render farm that is an issue, as the vast majority of renderfarms for VFX companies are CPU only. renderfarms aren't just using for renderer rendering, they're used for comp rendering, fluid sims (often using up to 96 GB of RAM), physics sims, etc. Very little of this is GPU-based currently. Where GPUs are starting to be used is on the artist workstation to speed up iteration/preview time. But not on renderfarms. GPU memory access across the PCIE bus is ridiculously slow for smaller jobs. It's often the case that the slower CPU can do the work before the cumulative time of copy data to GPU, get GPU to do work, then copy it back again has been done. For longer jobs of smaller data, GPUs make sense. GPUs also have much higher power draw than CPUs and produce much more heat, which is a huge issue for renderfarms with close to 100% utilisation at crunch time.