Updating to CUDA 2.3
August 7, 2009 6 Comments
It’s been a while since I’ve posted anything, so I thought I’d start again by upgrading from CUDA 1.1 to the new CUDA 2.3.
For hardware, I’m still using my old NX8600GTS graphics card. For my software development environment, I downloaded and installed the Microsoft SDK for Windows Server 2008 and Microsoft Visual C++ 2008 Express Edition. Then I downloaded and installed the NVIDIA Driver 190.38, the CUDA Toolkit 2.3 and the CUDA SDK 2.3 for 32-bit XP.
Once everything was set up, the first thing I did was to recompile and run the deviceQuery example (just as I did in my first attempt with CUDA). The default installation location of the CUDA examples has changed since version 1.1, so I found the example in
C:\Documents and Settings\All Users\Application Data\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\src\deviceQuery
I just double-clicked the
deviceQuery_vc90.sln file and the project popped-up in the Visual C++ IDE. I hit F7 to rebuild the program, and then I pressed Ctrl+F5 to run it. The program ran and reported the presence of a “GeForce 8600 GTS” in my PC. So far, so good.
Next, I downloaded and unpacked my first CUDA program (written so long ago). Because this example was created using MS Visual C++ 2005, I had to start the Visual C++ 2008 IDE and then drag-and-drop the example1.sln file into it. This started the Visual Studio Conversion Wizard which converted the project into the newer format. Then I hit F7 to build it and got the following error:
1>LINK : fatal error LNK1181: cannot open input file 'cutil32D.lib'
This error is the result of moving the default installation directory of CUDA SDK 2.3 versus 1.1. To correct for this, I opened the Property Pages for this project and, under the
Linker properties, I changed the
Additional Library Directories to include
C:\Documents and Settings\All Users\Application Data\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\common\lib
After doing this, the program compiled and ran successfully.
Here’s the source code for this example if you want to try it.