Graphics Drivers—Purpose-Shaped for CAD Use18 Mar, 2021 By: Alex Herrera
Herrera on Hardware: Keep up to date with CAD-oriented drivers and get the power you need to drive your designs.
Graphics drivers. We know they exist, we know we need them, and chances are, we’ve all searched for the one best suited to our system and applications. But, what exactly does a graphics driver do? What are the differences between drivers, and how might they impact your CAD workstation’s throughput and reliability for your go-to applications? This month, I’ll explain the role of the driver and how drivers for CAD-oriented graphics don’t share the same functionality, performance, or stability as their game-oriented peers.
What Does the Graphics Driver Do?
A graphics driver provides a level of abstraction and translation between the application and the supporting hardware underneath. It’s impractical for either an OS or application to know enough about the underlying hardware to program directly to it in an effective and robust way, plus an independent software developer (ISV) would not have the time or expertise to support multiple vendors and architectures that evolve over time. Instead, the application programs to an application programming interface (API), and the driver underneath that API handles some or all of the work that’s required to implement the application’s requests, such as drawing a line or polygon.
In the context of professional CAD applications, running Windows, DirectX, and OpenGL remain the primary APIs used. OpenGL is the tried-and-true, open-standard offshoot from the early days of graphics workstations, originally derived from Silicon Graphics’ workstation API, IrisGL. Microsoft created DirectX back in the 1990’s to help unify support for applications, with gaming a primary focus. Due in large part to its ability to progress rapidly under one entity — in contrast to the egalitarian group-directed OpenGL board — DirectX quickly emerged to become the dominant API on Windows. With its long legacy status, OpenGL remains relevant particularly in professional CAD applications. In fact, the standard in workstation graphics benchmarking, SPEC’s Viewperf, measures 3D performance running both APIs. In addition, other APIs do exist, such as Vulkan from industry-consortium Khronos (which also manages OpenGL). It is gaining traction in gaming environments and may well have a more significant role to play in professional spaces in the future.
In the case of DirectX, Microsoft hands off the device-dependent work to the driver but maintains much of the work that is independent of the underlying hardware. Not tied to a specific OS, OpenGL has historically required the hardware driver to handle everything underneath the API. For what it’s worth, in the early days of visual applications, ISVs did natively “talk” to hardware via standards such as VGA and predecessors. The applications today can still directly access a GPU’s bitmapped frame buffer, but they do not take advantage of GPU acceleration.
A Chip Alone Does Not a GPU Make
We tend to think of a GPU as just the hardware entity — a chip or graphics card. It’s true, the acronym does apply to and was coined for both. Furthermore, the chips that are the engines for gaming-oriented hardware such as NVIDIA GeForce and those for professional-oriented hardware such as NVIDIA Quadro tend to be the same. With all that in mind, it’s no wonder that many users don’t understand the difference between the two products. Why should you consider a Quadro with varying price premiums, when a cheaper GeForce seems to do the same thing?
The truth is, the GPU is really a combination of the hardware and the driver, as the hardware alone represents the foundation — a platform with capabilities that are impotent if not for the driver that exposes and optimizes access to that platform. Leveraging a common investment in expensive base technology is common across industries.
Take Toyota’s Tundra and Sequoia vehicles — they share the same basic automotive platform, but they’re shaped to produce vehicles optimized for different uses. Ditto for GeForce and Quadro, and it’s the driver that does much of the shaping. Drivers are different, and those differences can be significant, especially in the case of professional applications. A Quadro driver not only uniquely exposes features in hardware, but tunes performance based on typical CAD use and takes a different strategy when it comes to balancing reliability and platform stability.
The capabilities and performance a GPU can theoretically deliver for drawing 3D graphics is irrelevant if the driver on top doesn’t expose the capability or doesn’t place its performance at a high priority. Even if the GPU chips on the respective cards are the same, it doesn't mean that it will deliver the same power for CAD. Any graphics card’s performance is only as fast as the driver allows. Gaming drivers are designed with different goals than CAD drivers. A classic example is smooth 3D lines. Games don't use them, so a consumer-class driver won’t make them run fast, and probably won't even accelerate them at all. Ditto for some CAD-relevant shading such as Gooch shading, which emulates pencil-type design sketching.
CAD-oriented graphics drivers are able to process designs such as this Gooch shading drawing, unlike games-oriented drivers. (Image source: NVIDIA)
For the same reasons outlined above, even if a feature is exposed by a driver, there’s no guarantee that the driver will deliver the subsequent drawing with optimal performance. Again, gaming applications and professional applications place different emphasis on different types of drawing. A Quadro or Radeon Pro (AMD) driver design also takes into account which types of drawings are more commonly requested than others in typical CAD modeling. It fast-tracks the more common paths, while a driver not focused on CAD either won’t optimize performance, at best, or it might even kick back to the software for worst-case drawing performance. The end result? Professional drivers are likely to be slower on games, and likewise, game drivers are slower on CAD. Running SPECviewperf on two cards with the same (or close) underlying hardware but different drivers illustrates the dramatic differences in relative performance.
Reliability and Availability
Hand in hand with application-optimized performance is reliability. Again, the priorities of a driver focused on gaming don’t typically mesh well with the needs and wants of a CAD professional. Where a gamer might be willing to sacrifice a bit of reliability to gain a few extra frames per second or few less microseconds of latency, the same doesn’t apply to a designer who cannot tolerate visual artifacts or driver failures.
In addition, a professional graphics driver company takes those priorities into account when shaping and delivering an end product. They assume more exhaustive testing and are not nearly as quick to get to a customer release, compared to a gaming driver. It’s also likely to be released much less frequently, another appealing trait of a CAD-focused GPU. Why? For simplifying customer deployment and management.
A sole proprietor may not care so much, but imagine an IT administrator managing a sea of hundreds of CAD workstations with myriad different configurations. The last thing they want is to track numerous driver versions released during the past year throughout the company. If a new gaming driver imparts some meaningful improvement in drawing performance, visual effect or reduction in latency, both the vendor and its customers are going to want to download immediately. Gamers don’t want a flaky driver, but they’ll sacrifice some degree of reliability or logistical complexity to get better performance. This is not the case for IT administrators, who prefer regular, predictable releases of ultra-reliable drivers. Recognizing that preference, for example, AMD recently overhauled its protocol for releasing Radeon Pro drivers to a regular quarterly cadence. Customers can now expect a single, comprehensive and exhaustively tested driver release in late January, April, July, and October.
The Linchpin to ISV certification
That degree of testing and application-specific optimization opens the door to one of the hallmark features of professional GPU products, as well as the workstations they typically inhabit: independent software vendor (ISV) certification. As such, professional graphics products tend to be the only ones that ISVs such as Autodesk are willing to stand behind and certify for use with applications. Check out Autodesk’s list of current certified GPUs by application.
Comprehensive regression testing ensures every certified GPU reliably runs the most popular CAD applications, such as AutoCAD, SolidWorks, CATIA, and Creo. ISV certification leads to increased availability, with reduced chances of crashes and bugs. Granted, as the reliability of both hardware and software has evolved over the years, the chances a graphics driver causing a system crash or incorrect visual results is small. But if it does, not only is your time wasted, but if your hardware is not certified and there is a problem on the ISV’s end, chances are the bug report won’t get the company’s attention and be resolved.
You Quantify the Value
There’s a good reason professional GPUs exist in addition to their consumer- and commercial-focused siblings. Beyond differences in configuration — for example, professional GPU products are more likely to be outfitted with larger graphics memories — it’s the driver that provides most of the separation between the two. Despite sharing plenty of hardware DNA, they are shaped with distinct priorities and demands, better suited to professional CAD use than games. While it’s up to you, the customer, to decide on the value of a professional driver, you must understand the differences and potential impact of your choice when it comes to the next GPU and system to drive your CAD workflow.