The CPU (central processing unit) was king in the PC era. I remember the hotly contested race between two chipmakers (Intel and AMD) to make the fastest CPU. Megahertz was the metric for clock speed then and today it’s gigahertz. Using clever tricks like ‘Turbo mode’ the CPU clock speed could be further bumped up. The math co-processor and graphics processing unit or GPU played second fiddle or sidekick roles. Last week, I attended the NVIDIA GTCx India 2016 conference in Mumbai, and was surprised to learn how the GPU has matured almost into a graphics server within the computer. In fact, there were demos showing how GPUs are much more efficient than CPUs in processing data. The GPU has cut down processing time significantly, and many real-life applications across industries have benefitted. I will talk about some examples later in this post. But first, let’s get into a time machine and go back to the 90s to see how GPUs evolved.
As gaming software got more defined (realism) and monitor resolutions improved, more power and more memory were needed to process all those mathematical equations that generate those stunning graphics. The CPU (and its IBM PC architecture) could not keep up. Hence we witnessed the emergence of graphics cards. My earliest memory of one is the Hercules Graphics Card. Later we had CGA, VGA, and XGA versions. These graphics cards were mounted in expansion slots on the motherboard.
With better graphics came better sound. There was demand for surround sound on PCs, and multi-speaker systems became available (my favourite ones were manufactured by a company called Creative Technologies). Again, the CPU could not process the complex sound algorithms for surround sound, and hence we got sound cards with onboard sound processors and Digital to Analog (DAC) converters. Back to graphics.
Today’s graphics cards have so much power and memory, they would give a 1990s PC a complex. Sample this: The NVIDIA GTX 1080 graphics card has 2560 CUDA cores, a base clock speed of 1607 MHz, 8GB memory and it consumes 180W of power! If your geekiness makes you curious about CUDA you can read more about it here. Essentially, CUDA is a parallel computing platform and programming model that adapts a GPU for general computing.
And because of the sheer power that today’s GPUs have, they are transforming everything from deep learning and AI to visual computing, high performance computing (HPC) and VR.
DEMOS & EXAMPLES
Walking along the exhibit area at GTCx India 2016 I was thrilled to discover a number of interesting examples. Apart from the various startups showing some amazing demos, there was also a special zone called VR Village.
I was lucky to experience an interactive model of the Bank of England building that was destroyed in 1920. The lobby of the bank was recreated using an interactive model, photo-realistically rendered using NVIDIA’s Iray VR software.
When the HTC Vive VR headset was placed on my head, I was stunned with what I saw. It looked like I was in the deserted lobby of the bank in the early morning hours. The sun’s rays filtered through the glass dome in the atrium. I looked up and saw the gold gilded edges on the ceiling reflecting the sunlight at just the right angles, relative to my viewing angle. Shadows were created around the grooves and niches on the elegant statues placed around the lobby. And as I walked around or rotated my head, the shadows changed in relation to changing viewing angles.
Later, as I walked around the exhibit area I visited some of the stalls and witnessed some demos. EDGE Networks has been using the power of GPU processing for a business application. Interestingly, they use data science and AI for workforce transformation and an HR application. I spoke to Rahul Kulhari, their Lead Data Scientist. He told me that their talent acquisition app scans through thousands of resumes and filters candidates based on skills and experience that match a job description. This kind of processing used to take days to complete with a CPU. But now, with the power of a GPU it takes only a few hours.
I sat through an interesting presentation by Mandar Kulkarni, Head Automotive CAE, TCS. He spoke about some product development challenges and how GPUs and HPC have helped cut down production time and cost in automotive manufacturing.
“Earlier we had to make 100 prototypes of an engine and test each prototype. So development used to take years. But now we create virtual prototypes and do various simulations on the models. There are 500 types of simulations for every car — all the components have to be tested. We even do simulations on the coffee cup holder on the dash,” said Kulkarni.
The various simulation include vehicle crash, external aerodynamics, and aero acoustic analysis (to name a few). And billions of equations must be solved to create these simulations. This is only possible through parallel processing and HPC — which a modern GPU can perform.
There are numerous other examples and demos I can describe here to show the power of GPU, but that’s going to make this post a lot longer than I expected! So I will write about these separately in future posts.
I met and interviewed Greg Estes, Vice President, Enterprise Marketing, NVIDIA. Lookout for the interview that I’ll post on this site very soon.