Last week, I attended GTC (GPU Technology Conference), which was sponsored by NVIDIA, a manufacturer of graphics related products, including both consumer and commercial applications. A consumer may recognize NVIDIA for their work with home computer graphics add in boards, which are called GeForce, and may even be familiar with their work in 3D Stereoscopic Vision and console gaming. Unfortunately, most consumers are unaware how this technology works or the research being done to further improve the product itself. Granted, consumers should not need to have vast knowledge about the technology incorporated into an end product, as long as it performs as expected. This is unfortunate, solely due to the amount of man hours invested in research and development; but we all kid about it and just leave it to the “Geeks" or "Techies”. Of course, without the “Techies,” we wouldn’t have many of the things we take for granted today, such as television, automobiles and even that toaster that makes our English Muffins just the right temperature to melt that butter into all those nooks and crannies. Bottom line, before it was a reality, it was scientific, and the science is what created the reality.
Compared to the CPU (Central Processing Unit), which is commonly called the computer, GPU (Graphics Processing Unit) Computing is in its infancy, causing it to be chastised by the hardcore CPU compute community. The argument lies in the abilities of each of these processors and the type of programming needed to make them perform specific compute functions. Those on the CPU end may argue that less programming code is required to utilize its type of compute power, making it more efficient and, while a GPU can process in parallel, a CPU is still required to run the system. True, in order to run a GPU in a compute eco-system, a CPU is required and there will be some extra programming needed for them to function together. The GPU community will argue that while CPUs have the ability to perform some parallel computation with multiple cores, SSE and hyper-threading, they lack in sheer parallel compute horsepower when compared to a GPU. GPUs can manage thousands of threads in hardware and CPUs require explicit programming, making parallel programming a CPU more difficult. CPUs are traditionally optimized for serial tasks making them less powerful, although with SSE and multiple cores, some parallel processing can be achieved.
GTC is multi-fold, it’s not just a bunch of “Techies” getting together to discuss parallel algorithms, although there are multiple sessions to attend which do just that. GTC, as a whole, showcases emerging companies who are using the power of the GPU to produce their product. Multiple events featured Keynote Speakers who have already harnessed the power of the GPU to conduct research on curing illnesses, manufacturers of medical equipment that perform heart surgery without opening the chest and technologies which may make driving your car less dangerous. This is all possible due to GPU technology which utilizes NVIDIA graphics hardware such as GeForce, Quadro, and Tesla, and their parallel computing architecture called CUDA.