by Viper
29. September 2009 11:37
Recently I got assigned to looking into CUDA architecture to speed some of heavy computations in our application. So this was my first attempt on CUDA stuff. I have a Dell XPS 630 Windows XP machine with NVidia GeForce GTX285 video card. So I followed the steps mentioned on NVidia CUDA site for installing drivers etc. So the sequence of install is CUDA Driver, CUDA Toolkit and CUDA SDK. Just to test that everything is installed correctly and working fine, I compiled clock sample and tried to run it. I got error message saying no CUDA devices found. I looked around on different forums and sites and lot of people had run into similar issues. A lot of got the issue resolved by installing newer driver. I have a relatively newer machine with latest drivers. And I also made sure that I install CUDA 2.3 drivers and toolkits. So I reinstalled the drivers and everything and still it will not work. I ran deviceQuery sample as well. And it gave me the same error message. The out of that sample looked as below.
CUDA Device Query (Runtime API) version (CUDART static linking)
There is no device supporting CUDA.
Device 0: "Device Emulation (CPU)"
CUDA Driver Version: 2.30
CUDA Runtime Version: 2.30
CUDA Capability Major revision number: 9999
CUDA Capability Minor revision number: 9999
Total amount of global memory: 4294967295 bytes
Number of multiprocessors: 16
Number of cores: 128
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 16384 bytes
Total number of registers available per block: 8192
Warp size: 1
Maximum number of threads per block: 512
Maximum sizes of each dimension of a block: 512 x 512 x 64
Maximum sizes of each dimension of a grid: 65535 x 65535 x 1
Maximum memory pitch: 262144 bytes
Texture alignment: 256 bytes
Clock rate: 1.35 GHz
Concurrent copy and execution: No
Run time limit on kernels: No
Integrated: Yes
Support host page-locked memory mapping: Yes
Compute mode: Unknown
Test PASSED
Press ENTER to exit...
That was not a good sign. Then I started thinking and then it struck my mind that I am not directly logged into my desktop. I was using remote desktop to use the machine. In the past when I have tried to run some video games over RDP, I always used to get error telling me that I could not do so over RDP. So I immediately switched the connections and directly logged into the machine. And there it was, everything worked like a charm. And I felt like a dumb noob :-) Bottom line is that when you are seeing similar issue, check the following things:
- Make sure you have latest video card driver installed
- Make sure that you are using latest CUDA driver, toolkit and SDK
- Make sure that you install three component in order suggested by NVidia
- and .... you are directly logged into the machine and not using RDP or using any means that puts its own graphics pipe line on top
by Viper
3. February 2009 05:34
Last night I installed a new video card in my machine to try some new DirectX features. Well, the worst that could happen, did happen to my machine. It refused to restart after device drivers were installed. I tired everything I could but it will not move. Machine will not go into safe mode either so I could install device drivers. Finally I had to take brute force approach. Since there is always a default device driver present on board as well as in windows, trick is to get rid of the new driver. To accomplish this, following things you will need to know.
- What is name of the driver files that got installed? That is not hard to find from manufacturer's site. Or you can use another machine and pop-up in CD and look at the files contained in the CD using windows explorer.
- And you will need access to another machine.
Here are steps you can try
- Remove your hard drive from bad machine.
- Goto another machine. Take out its hard drive and change jumper settings to make it master hard drive. You will find the settings instructions right on the drive itself.
- Change jumper settings on drive from bad machine to make it slave and put this drive into second machine.
- Start your second machine.
- You should be able to see hard drive from bad machine in windows explorer.
- Goto Windows > System32 > Drivers folder and delete the device driver files for new video card or for that matter for any device that may cause your machine not to boot. Be very careful on this step. Make sure that you are deleting these files from slave drive which you inserted in good machine from bad machine. Otherwise you may accidentally delete drivers from your good machine's operating system.
- Take this drive put now. Also take out drive of good machine as well and reset its jumpers to make it stand alone hard drive (assuming you only have one drive in your machine). And reset jumpers on hard drive of bad machine to make it stand alone as well.
- Put the drive in your bad machine and fire it up. Hopefully it will boot and you will be able to interact it with standard 800x600 resolution default display driver.
- Get a new video card or device driver for your new video card and install it.
Hopefully these steps will help you resolve your bad device driver issues as well.