How Much GPU Memory Do You Need for CAD?30 Apr, 2014 By: Alex Herrera
Herrera on Hardware: To answer this question, start by learning how the technology affects your workflow.
Editor’s Note: We’re delighted to introduce this new column to the Cadalyst lineup. In “Herrera on Hardware,” consultant and Cadalyst Contributing Editor Alex Herrera will explain everything that CAD managers and users need to know about hardware for CAD, from memory to hard drives to processors — and beyond. Look for “Herrera on Hardware” every month on the Cadalyst website, as well as in future issues of Cadalyst magazine.
We constantly marvel at what the progression in silicon technology has delivered over the years, with each successive generation bringing much greater capability for far fewer dollars. Nowhere is that progress more apparent than in the geometric growth of random access memory (RAM) — and not just in system memory, but in the dedicated memory tied to graphics processing units (GPUs).
Growth in GPU memory has been staggering: If you were to take the size of a typical desktop computer's system memory from the early 1990s and multiply by a thousand, you'd be in the ballpark of what a typical workstation-caliber GPU can boast as its own private graphics memory today. Professional GPU card memories start around 0.5 gigabytes (GB or Gbytes) in size and head up from there, all the way up to Nvidia's top-of-the-line 12-GB Quadro K6000 and AMD's recently introduced 16 GB FirePro W9100.
With such a huge variety of GPU memory sizes available, at prices ranging from $100 to $5,000, the obvious question facing CAD professionals is, "How much do I need?" There's no one-size-fits-all answer; it depends on what type of work, and what type of content, your typical day involves. But first, let’s look at how the technology is applied.
A Brief History of GPU Memory Uses
What use does a GPU's private memory serve? Not long ago, it had but one primary purpose: serving as a local buffer for raster-based graphics engines to assemble each frame in memory prior to display. For that reason, graphics or video memory has been historically and equivalently referred to as framebuffer. But that's no longer an appropriate designation, as the composition of GPU memory has changed dramatically in the past twenty years.
In the early 1990s, technology limits and cost constraints meant most graphics controllers were limited to just a few megabytes (MB) of storage. A PC graphics card may have populated only one or two MB, and a high-end workstation card may have been outfitted with eight or perhaps a very generous 16 MB. Back then, screen resolutions of 1024x768 or 1280x1024 meant the vast majority of memory was consumed by framebuffer. Off-screenmemory tended to be minimal, storing things like glyphs (e.g., text patterns) and 2D block patterns that would be copied on screen.
Fast-forward to today, and the allocation of GPU memory is reversed. With memory density now orders of magnitude higher, and screen resolution growth over the same period modest by comparison, framebuffer is now the minority consumer of GPU memory. Though some professional segments are migrating to 4K resolution, for the majority of professional CAD users, 1920x1080 per screen is the norm. Even factoring in two or three displays on the desktop, and double or triple buffering (for animation and/or stereo 3D), off-screen storage now represents the bulk of available memory — by far.
Comparison of typical graphics memory allocation in 1992 and 2014.
A Big Effect on CAD Performance
So if GPU memories are now orders of magnitude larger than what's required for even the most generous allocation of framebuffer, does that mean the rest of that memory is going to waste? Not at all. In fact, all that extra available off-screen memory is what can make or break performance for the high-demand visual computing common in today's CAD workflows.
Professional applications now rely heavily on off-screen memory for storing — and having high-bandwidth, low-latency access to — a multitude of data types. Two of the biggest consumers are 3D model data and textures used to add detail to the model's surfaces. In oil and gas exploration, for example, a model of survey samples can yield data sets that push well beyond 1 TB in size. In the making of the seminal CGI film Avatar, artists wrapped so many layers of high-resolution textures on a Na’vi character, it took roughly 150 GB in all to bring a single character to life.
CAD applications don't usually venture into either of those extremes, as product design, engineering simulations, or building information modeling (BIM) datasets don't typically demand as much in the way of high-resolution textures or 3D volumes. Still, the performance of CAD applications is sensitive to memory size (and bandwidth), to a degree that varies dramatically according to the size of the models being rendered or simulated.