Friday, January 3, 2014

Building the ultimate CGI/VFX workstation

I've been a fan of 3D CGI from the very start. 

Back in the early nineties I used to track down compilation DVDs of 3D animations and watch them in total amazement. At the time I landed a job with a reseller of CGI technology that included Silicon Graphics (SGI) workstations and received training in Softimage and other 3D software. However, my passion for IT took my life in another equally awesome direction and for many years I was merely a CGI consumer.

A few years ago I started creating CGI again using the open source software package Blender and I've been having a blast. The problem is that 3D requires a lot of computer power and a notebook computer wasn't cutting it. So I planned and built a CGI/VFX PC over the holidays. The specs are thus:

Intel Core i7 4960X (6 cores, 12 threads)
NVIDIA GeForce GTX Titans (3 cards)
G.SKILL 64GB DDR3 RAM (2800 MHz)
ASUS Rampage IV Black Edition motherboard
EK water cooling components
Samsung 840 EVO 1TB SSD (2 in a RAID mirror)
Corsair Obsidian Series 900D Super Tower case
ASUS PQ321Q 32 inch 4K monitor

The workstation build started by populating the RIVBE mobo with boatloads of RAM and the CPU. The motherboard is built for hardcore gamers and caters to elaborate overclocking of the components. After connecting the ungodly large 1600 watt LEPA power supply, I checked for any dead on arrival computer components. The power supply is the biggest consumer model I could find and is required to power the hungry triple GPU setup and CPU overclocking.

 
Next I installed the CPU water block. This was a particularly nerve racking experience as a first time water cooling user. It included installation of thermal paste on the CPU and felt a little like I was playing the board game "Operation".
 
 
The NVIDIA GeForce Titan is one of the most powerful consumer video cards on the market. Each card includes 2,688 CUDA processors and 6GB RAM. The combined strength of 8,064 CUDA cores is used to render all that juicy CGI path tracing with Blender. The GPU RAM is used to support high resolution CGI texture mapping (system RAM supports big physics simulations). The stock air cooling unit on the cards is truly beautiful but for ultimate low noise cooling, water is the way to go and so it had to go.
 
 
Modifying these three cards was not simple. It began by removing the fan/spreader block, the thermal pads from the RAM / voltage units, and cleaning off the thermal grease from the GPU chip. It then involved applying new thermal pads to various units, applying new thermal paste to the GPU chip and attaching the after market water block to the cards. All up it was around 19 or so screws that came off and then went back on.
 
 
The cards look pretty badass with the new copper and acetal full cover water blocks by EK. While rendering CGI, these babies will hit 100% GPU utilization for days and without this kind of cooling will reach temperatures of 95 degrees C. The water keeps these babies at 40 degrees C or lower so they don't fry.

 
The water blocks are then connected to each other with a EK triple block that enables the water to pass between them and also keeps the cards together for easier insertion into the PCI slots. I went with a X79 chipset mobo specifically to support a triple SLI Titan setup which also dictated the CPU and the RAM. My 3D software works better with SLI disabled but together these three cards power games at 4K resolution with good frame rates.
 
 
The water loop starts with a reservoir, moves to a water pump, moves through the CPU/GPU before heading through a full sized EK radiator. The radiator (or rad in build speak) performs the water heat exchange process and has four Gentle Typhoon 120mm fans mounted on the underside in a push configuration. I'd actually bought twice as many fans for a push/pull configuration but decided to only mount the push fans to keep system noise to a minimum. The radiator is mounted on the top of the Corsair Obsidian Series 900D case.
 
 
Before mounting everything in the case, I did a water fill and "leak test" which included removing power from all components except for the water pump and priming the system with distilled water. This testing prevents electrifying components and/or yourself due to a loose connection with one of the hose compression fittings. In this shot you can see the anti-static station I used throughout the build.
 
 
When satisfied that the water cooling was working well, I mounted everything inside the case and did another leak test. I found a fixed a few loose connections, luckily only on the reservoir and pump.
 
 
The power supply and SSDs were mounted and all case components put back in place before powering things up. I actually called someone into the room to witness the first power on self-test just before going out to a new years party. The first POST screen was a relief to see and meant I could enjoy a worry free start to the new year.
 
 
I configured a few things in BIOS, set the dual 1TB SSDs to a mirrored setup and then loaded Windows 8.1 Professional, followed by various drivers. The following is one of the first shots of what 3840 x 2160 (aka 4K) resolution looks like on the new 32 inch monitor. 4K is also known as UHD and is four times the resolution of modern HD screens. I downloaded several 4K videos and played them at full screen in all their glory.
 
 
With the system up and running, I set about executing burn in of the CPU and GPU. In the following shot you can see me stress testing the GPUs in SLI and the CPU processor cores. During this process I monitored the temperatures of all components to ensure they stayed relatively low with the custom water cooling. History has shown me it's easy to completely fry components when rendering CGI for long periods.
 
 
Naturally, it's fun to know how your system compares so I fired up the 3DMark benchmark to have a go. 3DMark compares your system to others on the Internet and my favorite part of the benchmark report is the bit that says my system is faster than 99% of computers tested. Nice!

 
After checking things out, I moved the computer into it's natural habitat where the magic happens. I've already done a few Blender test renders using the built in Cycles path tracer and it is blazingly fast. I'm looking forward to the weekend where I can focus on my next CGI art project.

No comments:

Post a Comment