Tuesday, August 24, 2010 4:04 PM
writscher
Visual Studio debugging of GPU parallel algorithms
By now you've probably heard of the steady march toward multiple CPUs in your computer. First there were two core CPU's and then a few months later there was four core ones available. The number keeps growing, with Intel predicting 80 core within a few years.
Naturally the development world looked at multiple cores and started thinking about how to write parallel algorithms. But some developers took a side road to completely different parallel programming world. These developers realized that there was another processing unit on most computers that had vastly more parallel processing power. I'm talking about your computers graphic processor unit (GPU).
Modern GPUs are designed to apply parallel algorithms to pixels. The pixel information is just byte data so some smart people figured that the GPU might be good at certain non-graphic algorithms. It turns out they were right. There are problems that lend themselves to running on the GPU. These include financial, bioscience and cryptography problems.
NVIDIA is a big player in the GPU world and they took notice of this new development. And they decided to enhance the market by creating specialized development tools. Here's what I find interesting; NVIDIA decided to build a Visual Studio extension to permit multi-threaded, parallel debugging for these new GPU applications.
In July 2010 NVIDIA released a free edition of a tool called Parallel Nsight. http://developer.nvidia.com/object/nsight.html
Quote from NVIDIA site
What could you do with your application running 5 – 50 times faster? Develop an innovative approach to cancer detection? Analyze financial options in real-time? Discover hidden oil reserves? Create award winning game physics? Process HD video to allow your customers to meet deadlines? Our partners are doing all of the above, and more.
The power of GPU Computing is already delivering game changing performance increases to the Medical, Finance, Energy, Consumer and Research fields. For over 1,000 customer stories, visit www.nvidia.com/cuda.
This tool integrates within Visual Studio 2008 SP1. According to NVIDIA they will have a working version for Visual Studio 2010 by the end of the year.
Nsight includes approximately ten tools that simplify debugging, profiling an integrated build tools. It fully exploits the Visual Studio debugging Windows.
I still find it fascinating what we can do with computers.