Single CPU

“Surprisingly, because most CAD and computer graphics programs are still largely not optimized for multi-threaded processors, the fastest workstations are typically using whatever processor tops the single core compute performance category, not the multicore. They are then paired with as much ram as the chipset supports. Also, when you are talking about pro graphics cards like Radeon Pro and the RTX A (formerly called quadro) lines, it only pays to upgrade to the next gen graphics card once your software vendor has had a year or two to integrate with a new hardware gen’s capabilities. The pro gfx card market (at least when it pertains to OpenGL performance) is one area that will actually punish you for being too early an adopter, which is disappointing when cards go for several thousands of dollars new. The whole area of CG software has been stagnating for 5 years while OpenGL driver improvements have fallen out of favor for more bare metal processing approaches that are only now getting to feature parody and developer adoption like vulkan. Hopefully the next few years brings a positive trend in CG price to performance again as these new architectures actually start shipping in CG software products. As someone who works daily in CAD, the performance stagnation over the last 5-10 years has been depressing to say the least.”

CAD and CG programs are some of the most demanding programs out there. We’ve had multi-threaded processors for *checks notes* forty years! And CAD and CG programs for about the same time.

But it’s 2022 and those programs still work best with single core compute performance.

It fascinates me because I’ve often heard game programmers wanting to get away from multi-threaded programming; it is an absolute nightmare of optimization (but engineers like to tinker for 7 straight years on things like that, so).

It makes sense that a single core is better; just throw your code, all your code at it and let the machine do what it’s supposed to do, at maximum speed. With multi-core you have to organize and sync your code, which as you might guess, is really fun to do and not slowing things down at all. Multi-threaded processors were a mistake, in a way.

The reality is that our computers are so sophisticated these days, that there’s not a single team out there able to actually use those beasts as efficiently as possible.

We just keep on wasting. I wish we didn’t.

Leave a Reply