Depending on your areas of interest, this may or may not be news to you. There were commercially available products well over 3 years ago and the topic is nearly 15 years old. However, if you’re reading this, you’re interested in CAD and if you’re interested in CAD you need to know about GPU computing. I’ll leave it to you to surf for the details, but I’ll get us started with some basics.
“In the beginning”, there was the CPU and it was good. Time passed, stuff changed and offloading functions from the CPU became a great idea. The GPU was one of the devices created for the extra workload. More time passed and someone decided that a processor is a processor is a processor. Said another way CPU, schmePU, we can do math with a GPU, too. GPU’s are smaller, do less and are less expensive than CPU’s. As with all things microprocessor, GPU’s got better – more powerful and more programmable. GPU’s became a more efficient alternative to the CPU for many applications.
Thus, the first acronym was born – GPGPU, General Purpose GPU – and the associated catch-phrase, parallel computing. In general terms, CPU’s are built for serial processing and GPU’s expect to be used in parallel. I know, I know, there are parallel CPU’s – multi-core and hyperthreading. I don’t plan to get into that discussion – I’m just reporting the basics here.
As CAD users, we’re familiar with using high-powered graphics cards for rendering, but if the GPGPU makers are successful, the day will come when we can run Simulation on our “graphics card”. And - work with me – since a graphics card is a plug-in device, it could be placed elsewhere, like in a small box on our desk or over a network or … in the cloud. And (you still with me?), if it can be on a network, then it can be shared. Distributed rendering, Simulation, you name it. Now all of the intensive math for things like rendering and Simulation can be done elsewhere as it is needed. CAD guys need to be aware of the possibility that’s coming our way.
As you may imagine, just like hyperthreading, using a bunch of parallel GPU’s instead of a multi-core CPU takes different programming. If you’re a GPU manufacturer, you’re presented with the classic business issue – I need programmers and devices, but each begets the other. But, there is significant progress being made. There’s a conference dedicated to this industry – GTC, GPU Technology Conference. SolidWorks’ VP of R&D Gian Paulo Bassi was at the 2013 GTC as part of a demonstration of nVidia’s Grid VCA product that includes – catch this – a SolidWorks license for up to 8 or 16 users. With products like the Grid VCA, we’re back to the 1970’s – relatively dumb terminals with centralized high-powered servers. However, I don’t consider a Macbook, iPad, or smart phone a “dumb terminal”, so maybe it's the 70's only better.