Nvidia Maximus is a new workstation technology that enables users to work freely in a 3D application, while running a full speed rendering or simulation in the background. AEC caught up with Nvidia to find out more.
Long gone are the days of DOS when only run one application could run at a time. Today’s workstations need to support Building Information Modelling (BIM) workflows where users swap between design, simulation and rendering at will.
The problem is, however powerful the workstation, once compute intensive tasks are assigned, performance can be unpredictable as multiple processes fight for resources.
Run multiple renders or simulations at the same time, and you may as well forget doing anything other than writing an email.
This is all fine if you leave all your compute intensive work to the end of the day, but feedback is most useful at all stages of the design process. There’s little use preparing a handful of scenes to render overnight, only to find out in the morning a key part of the design was flawed or the lighting was all wrong. Or, for a structural engineer to prepare design some candidates for simulation, only to find out they’ve all failed in the same place or were overdesigned.
For rendering and simulation, most software still uses Central Processing Units (CPUs). Only some of these tasks are being handled by Graphics Processing Units (GPUs).
Ansys and Simulia now have solvers in their simulation software that are GPU enabled, while Autodesk and Bunkspeed can use GPUs for computational rendering.
Despite being able to offload compute intensive tasks to the GPU, so-called GPU-compute workstations can suffer from bottlenecks.
If compute tasks are offloaded to the GPU, interactive graphics performance can suffer. Even when a workstation has two GPUs, software can get confused and try to use the graphics card instead of the dedicated high-performance GPU compute device.
This means the calculation takes longer and the entire system can slow down as software fights for CPU and GPU resources.
It is against this backdrop that Nvidia has launched Maximus, a new GPU compute technology designed to deliver dedicated floating-point horsepower for interactive design graphics as well as computational simulation or computational rendering. It’s about being able to work on a new design at the same time that you are running a simulation or rendering on another iteration.
Nvidia says that Maximus is like having two workstations in one — a full performance interactive design workstation and a full performance computational simulation workstation. With two GPUs and two CPUs inside a high-end Maximus workstation, this is not far from the truth.
GPU ‘A’ is a Nvidia Quadro graphics card used exclusively for interactive 3D graphics, while GPU ‘B’ is a specialist Nvidia Tesla GPU compute card reserved for rendering or simulation.
CPU ‘A’ is ring fenced for system and interactive applications, while CPU ‘B’ is reserved for simulation or rendering, dividing jobs and moving data to and from the GPU compute card.
Entry-level Maximus workstations feature a single processor, so instead of a dedicated CPU tasks are assigned a number of CPU cores.
While the concept of having two GPUs in a workstation is nothing new, Nvidia says all the clever stuff happens in the unified Nvidia Maximus driver. This allocates jobs to each GPU making sure graphics calls go to the Quadro and that the computational rendering or simulation calls go to the Tesla.
There is also a special mode that makes the Tesla GPU look exclusively like a compute device, so Windows doesn’t try to treat it as a display device.
Software does not need to be ‘Maximus-enabled’ to benefit from the new technology. Nvidia says that a Maximus workstation will work with any simulation or rendering software that has GPU compute capabilities. This includes software built with CUDA, Nvidia’s API or OpenCL, the open standard.
Nvidia is currently promoting Maximus with two key Computer Aided Engineering (CAE) applications — Simulia Abaqus and Ansys — presenting benefits for workflow as well as raw performance.
A Maximus workstation that dedicates six CPU cores and a Tesla GPU is said to solve an Ansys simulation almost twice as fast as a workstation which dedicates 12 CPU cores and no GPU (N.B. Nvidia’s test machine features the Intel Xeon X5670 CPU, which is not the highest specification Xeon processor currently available).
Any standard high-end GPU compute workstation should be able to achieve these levels of performance, but Nvidia says Maximus comes into its own when working on an interactive design at the same time as running a simulation, as both processes can run close to full speed.
With Maximus, visualisation runs on exactly the same principle as simulation software — render and design at the same time with no discernible performance slow down.
The one big difference is that multiple GPUs can be used at the same time. In a high-end Maximus system this could be a Quadro 6000 and a Tesla C2075 — both of which offer the same computational performance. This would give a useful boost when deadlines loom, but would mean real time 3D performance would take a hit.
Maximus works with any iRay-enabled GPU rendering application, including 3ds Max Design 2012 and Bunkspeed Shot. Nvidia says that while iRay does not support motion blur or depth of field, there is no difference from a ray tracing perspective to the CPU renderer, mental ray.
In a world where compute intensive operations often fight for workstation resources, Maximus makes a lot of sense. Whether you’re a structural engineer running simulations or a design visualization specialist rendering architectural scenes, if tasks can be carried out concurrently without hindering productivity this means more iterations or compressed timescales.
Of course, Maximus is just one way to offload compute intensive operations so your workstation doesn’t slow down – clusters, render farms and cloud-based compute services all have a role to play. But the key thing about Maximus is that it’s local. It enables architects or engineers to have instant access to compute capabilities when they need them, rather than having to compete for time on shared resources or move large datasets across slow networks.
While those heavily into design visualisation will not be giving up their render farms any time soon Maximus can still offer a supportive role. It can help explore ideas and fine tune composition and lighting and then the final renders can be sent to the farm.