Caustic R2100 Pictured above
Installing the Caustic card was very straightforward and similar to installing a new GPU. After plugging the R2500 into a free PCIe x16 slot and installing the supplied drivers, Windows reported two RTUs in the device manager and Visualizer in Maya added a small note in the bottom corner of the viewport to let me know that it was now hardware accelerated. Just as a reminder, the Caustic Series 2 RTUs are purely for accelerating raytracing and do not have a built-in GPU, so you will still need a GPU to see your desktop. However, since the GPU is not used for rendering, you will only need a GPU fast enough to handle wireframes and your operating system (or perhaps fast enough to handle Team Fortress while waiting for the render farm to finish).
Performance in Visualizer increased noticeably without much sacrifice in responsiveness. While GPU renderers generally render faster than their CPU counterparts, they often are slightly laggier in updating. Similarly, Visualizer is slightly laggier with an RTU; however, it's almost unnoticeable and nowhere near the latency I've found in similar offerings.
What really sets the Caustic RTUs apart from a traditional GPU renderer is how it manages memory. While a GPU renderer requires the entire scene along with all the texture maps and shaders to be held in the GPU's memory, the Caustic Series 2 RTUs only need the geometry to be held in memory. With 4GB and 16GB of memory in the R2100 and R2500, respectively, that works out to 60 million and 120 million unique polygons (the R2500's memory is split between two RTUs, hence 8GB per RTU dedicated to geometry). Shaders and texture maps are processed on the CPU and, therefore, make use of your system memory, allowing the free use of 4K and larger texture maps where needed. Since the shading is processed on the CPU, this also allows for far more complex shader trees than with competing GPU renderers, which often only support a subset of the CPU version's nodes. Both the CPU- and RTU-accelerated modes of Visualizer and other OpenRL/Brazil SDK renderers have identical feature sets - the only way to tell the difference between the two is the additional frame rate when an OpenRL RTU is added to the system.
Another nice side effect of using the CPU is system responsiveness. As anyone who has used a GPU renderer can attest, if you don't have a dual GPU setup with one GPU dedicated to the operating system, your windows responsiveness will grind to a halt. Nvidia has begun marketing its Maximus platform to artists for precisely this reason, which is a Quadro card for the viewports and operating system, and a second tesla to handle rendering and CUDA. Since the Caustic RTU uses the CPU, your GPU is free to handle your operating system and responsiveness is untouched while rendering.
The one downside to this unique approach is that your performance is dependent on the speed of your CPU, even with a Caustic RTU. While you'll benefit in increased geometry space with the dual RTU R2500, you won't necessarily see much additional performance over the single RTU 2100 on a single CPU system. On my single i7 system, a Caustic RTU offered about a 2x to 3x increase in rendering speed compared to the CPU alone. On a dual Xeon, performance was again about 2x to 3x over the CPU, but about 2x as fast as a single CPU workstation. Compared to a GTX 580, I found my i7 paired with a single Caustic RTU to be about 25 percent faster than the GPU rendering a similar scene. However, if there is a compromise to the Caustic RTUs, this is it.
While adding a third GPU for SLI rendering can be relatively easy and affordable depending on your motherboard, adding a second CPU for increased performance can present a more difficult and expensive path to increasing performance. If pure ray count is your goal, packing a few GPUs into a system might prove slightly cheaper, assuming your scenes and textures always fit into GPU memory. For my work, that's a somewhat academic comparison since virtually none of my production scenes fit into GPU memory without spending thousands of dollars per GPU on a Quadro 6000, and even then still only having 6GB of memory available.
Perhaps the largest impediment I see though to widespread success with the R2100 and R2500 is the current software support. With Visualizer and Rhino 5.0 being your only two choices, and given Visualizer's current feature set, OpenRL is much where CUDA was a couple years ago or perhaps arguably where OpenCL is today. It's the classic "chicken vs. the egg" scenario. Caustic needs solid hardware to galvanize support for its fledgling OpenRL standard - the r2500 is a mighty fine chicken and Visualizer is a great first release and a pretty complete egg, but they still are not a perfect solution for everybody.
For look development, the Caustic RTUs are a great choice, assuming you use Mental Ray and Maya (until Caustic releases a Visualizer for Max). For batch rendering, the software needs to quickly add a few more production-necessary features, like 3D motion blur, before it can see widespread adoption as a final frame production renderer. Alternatively, Caustic needs to persuade other rendering packages from the likes of The Chaos Group and Pixar to implement OpenRL support in their existing packages.
The race is on to see whether Caustic can expand its software's breadth and feature set faster than Nvidia can add memory and expand CUDA to match OpenRL's shader capabilities. Nvidia has a head start, but I wouldn't discount the resources and focus that Imagination Technologies is bringing to the fight. If Caustic can quickly close the feature gap and keep up with Nvidia's hardware offerings, I think it's got a very bright future, but only time will tell whose hardware ends up replacing the traditional renderfarm. Whoever wins, we're living in a very exciting time for hardware-accelerated rendering, and it's encouraging to see all the major players addressing the needs of professional 3D artists.
Caustic R2500 Pictured above
R2100, R2500 Wrap-up
Conjecture and speculation aside, is a Caustic Series 2 RTU worth buying today? That's a question obviously that will vary largely from user to user. If you don't use Mental Ray and aren't having any trouble fitting your scenes into the 2GB to 3GB generally found on a GPU, then there's something to be said for the simplicity of adding multiple GPUs to see increased performance as well as the broader CUDA support at this time. However, if you're satisfied with Visualizer or Rhino 5's Neon feature set, I think it's a no-brainer purchase. The timesavings should more than pay back the investment in a Caustic card. The Caustic RTUs are, in my opinion, the only accelerated raytracing solutions available today that can handle real production scenes.
Gavin Greenwalt is a VFX supervisor and senior artist for Straightface Studios in Seattle. He can be reached at Gavin@SFStudios.com.
- Large scene size and complexity.
- Textures and shaders not limited by GPU memory.
- Supports extremely complex shader networks.
- Performance currently bottlenecked by CPU speeds.
- Limited OpenRL software support.
For a companion review on Caustic Visualizer for Maya, see the July/August 2013 issue of CGW.