« The Autodesk 10K | Main | Lessig on IP »

CAD doesn't do multicore

Do you wonder why games can take advantage of multicore processors, and CAD programs can't? (At least, not very well.)

It's called concurrency.  CAD programmers haven't quite got it figured out -- and even if they did, they'd probably have to start over to build it in right.

One of the brilliant thinkers in the world of concurrency, Herb Sutter, just gave a presentation on Software and the Concurrency Revolution at the Palo Alto Research Center.  If you're involved in software architecture, you ought to check it out.  The links to the audio, video, and slides are on his site.  If you're not a software architect, but you want to know a bit about this subject, then read his article, The Free Lunch is Over.  (If you're coming to COFES in April, this is the kind of stuff that people actually sit around and talk about.  Well... at least me and a few of the nerdy types do.)

By the way -- things like this are what makes having a blog worthwhile.  I run across a lot of truly interesting stuff in my day-to-day business, and now I can do more than just flag it in del.icio.us. Of course, if I go too far afield, (that is, writing about things that are irrelevant to the CAD industry), I run the risk of having zero people actually read anything here.

Posted on Monday, March 27, 2006 at 09:56PM by Registered CommenterEvan Yares in , | Comments2 Comments

Reader Comments (2)

Regarding SMP (symmetric multiprocessing) capabilities in CAD software, this topic comes up all of the time in Autodesk's hardware discussion group. The question is usually along the lines of, "Why should I spend more $ for another CPU when AutoCAD doesn't use it?"

As I understand, parts of AutoCAD do use multiple processors. The VisualLISP runs as a separate thread, and the display system is multithreaded. I'm sure with the inclusion of the Inventor modeling kernel, much of the 3D capabilities of 2007 will be highly multithreaded as well. For most AutoCAD usage, that's probably fine, although I would really like to see more of ADT's internals become SMP aware. (Disclaimer: I am not a software architect)

Regardless of whether AutoCAD uses the second CPU or not, the question of getting into SMP might be valid if AutoCAD was not only your CAD software, but also your operating system, email program, image viewer, and instant messenger client as well. But it is only a single program. Windows will automatically use additional CPUs as processing demand grows.

Most of us are used to running a lot of major applications at one time, and Windows is running many, many more behind the scenes. This is currently where the true value of SMP and dual core CPUs comes into play. Even for the casual home user, ripping a CD or DVD while surfing the net can be sheer torture on a single CPU system, but it glides on a dual CPU rig. Anti-virus software (a mainstay app on most machines today) can require quite a bit of horsepower behind the scenes and can tank a decent single CPU system.

With the advent of cheap multicore processors, the question is no longer what is the value of SMP, but which SMP offering is the best bang for the buck. You don't have to purchase an outrageously expensive "server" class dual CPU motherboard - it's all off the shelf stuff nowadays.

And, of course, software never becomes less complicated. I'm sure as SMP systems become ubiquitous, developers including Autodesk will rush to fill this void.
March 31, 2006 | Unregistered CommenterMatt Stachoni
Today, you can buy dual core systems at a reasonable prices. The quad core CPUs are scheduled for about a year from now. We used to get double CPU performance every 18th month, in the future we'll probably get double the number of cores instead.

As long as people run single or dual cores, multithreaded software isn't that important. As Matt writes, it can be desirable to have the second core available for other tasks. A second core will probably add 20-30% performance to a singlethreaded program since the OS no longer needs the first core.

The quad core changes that forever. A piece of software that only uses 25% of the available processing power is outdated. "Parts" multithreading won't be enough.
April 7, 2006 | Unregistered CommenterHenrik Vallgren

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
All HTML will be escaped. Hyperlinks will be created for URLs automatically.