CUDA programs do not run anymore TESLA C1060 replacing a Quadro FX 570

Hi,
I’ve been using CUDA for some months now, learning to write code with two Quadro FX 570.
Now I’ve just bought a Tesla C1060, I installed it (removing one FX 570, so that now I have 1 FX 570 and 1 Tesla C1060), installed the driver, and the device seems to be correctly installed (I can see it in Nvidia Control Panel), but my CUDA programs do not work anymore. Neither the sample codes already compiled work now, it seems that there is something wrong with the installation of the toolkit. I tried to disinstall everything several times, trying to install the versions of drivers and toolkit from the CD-ROM I got with the video card, and using the installers from the website.
I have a Dell Precision T7400, Intel Xeon E5440, 32GB of RAM, Windows XP Pro 64bit SP2.

If I try to run the example deviceQuery I get a dll entry point error “The procedure entry point cudaDriverGetVersion could not be located in the dynamic link library cudart.dll”.
Here you can see some examples of errors I get while running the other examples (already compiled) from the SDK:

C:\NVIDIA GPU Computing SDK\C\bin\win64\Release>volumeRender.exe
[ CUDA 3D Volume Render ]
This sample needs a card capable of OpenGL and display.
Please choose a different device with the -device=x argument.

Press ENTER to exit…

C:\NVIDIA GPU Computing SDK\C\bin\win64\Release>eigenvalues.exe
[ CUDA eigenvalues ]
Matrix size: 2048 x 2048
Precision: 0.000010
Iterations to be timed: 100
Result filename: ‘eigenvalues.dat’
Gerschgorin interval: -2.894310 / 2.923303
cutilCheckMsg() CUTIL CUDA error: Kernel launch failed. in file <d:/devtools/SDK
10/CUDA_2.3/SDK10/Compute/C/src/eigenvalues/bisect_large.cu>, line 180 : invalid
device function .

C:\NVIDIA GPU Computing SDK\C\bin\win64\Release>scalarProd.exe
Initializing data…
…allocating CPU memory.
…allocating GPU memory.
…generating input data in CPU mem.
…copying input data to GPU mem.
Data init done.
Executing GPU kernel…
cutilCheckMsg() CUTIL CUDA error: scalarProdGPU() execution failed
in file <scalarProd.cu>, line 127 : invalid device function .

C:\NVIDIA GPU Computing SDK\C\bin\win64\Release>oceanFFT.exe
[CUDA FFT Ocean Simulation]

Left mouse button - rotate
Middle mouse button - pan
Left + middle mouse button - zoom
‘w’ key - toggle wireframe
[CUDA FFT Ocean Simulation]
cufft: ERROR: D:/Bld/rel/gpgpu/toolkit/r2.0/cufft/src/execute.cu, line 1038
cufft: ERROR: CUFFT_EXEC_FAILED
cufft: ERROR: D:/Bld/rel/gpgpu/toolkit/r2.0/cufft/src/execute.cu, line 284
cufft: ERROR: CUFFT_EXEC_FAILED
cufft: ERROR: D:/Bld/rel/gpgpu/toolkit/r2.0/cufft/src/cufft.cu, line 119
cufft: ERROR: CUFFT_EXEC_FAILED
cufftSafeCall() CUFFT error in file <.\oceanFFT.cpp>, line 422.

Could you please help me? Thank you.

Alessandro

I also use winxp pro64 with Tesla C0160 and GTX295, driver 109.38, cuda2.3

do you have correct environment variables

CUDA_BIN_PATH = C:\CUDA\bin64

CUDA_LIB_PATH = C:\CUDA\lib64

since cudart.dll is cuda runtime dynamic-linking library, it locates at C:/CUDA/bin64

I don’t have the bin64 and the lib64 folders, I do only have the bin and the lib folders. And my environment variables are set to C:\CUDA\lib and C:\CUDA\bin. Does it mean that I installed a 32bit package? Do I have to reinstall something different? Thank you for your help.

Alessandro

only cuda 2.3 has lib64 and bin64 because cross-compilation.

I suggest that you can install driver 109.38 (for winxp 64) and cuda 2.3 since

my machine works under GTX295 (for display) and Tesla C1060

installation notes

  1. remove NVIDIA driver and cuda toolkit, SDK

  2. reboot

  3. install driver 190.38

then check your NVIDIA control panel, you should see 2 GPU, one is Quadro FX 570, the other is Tesla C1060

  1. install toolkit, then check your environment variable, you should see

CUDA_BIN_PATH = C:\CUDA\bin64

CUDA_LIB_PATH = C:\CUDA\lib64

or you should set yourself

  1. install SDK

  2. execute deviceQuery.exe

Thank you very much, now I’m able to run the examples! Probably the driver installation procedure from the CD-ROM was installing the 32bit version, I don’t know…

Just a stupid question: how should I do to let my programs (or the SDK examples) run the kernels on the Tesla device and not on the Quadro device?

use deviceQuery.exe in SDK to check your configuration,

for example, I install both GTX295 and Tesla C1060, then deviceQuery.exe shows

Device 0: “GeForce GTX 295”

Device 1: “GeForce GTX 295”

Device 2: “Tesla C1060”

in your program, you can use Runtime API to choose target device

cudaDeviceProp deviceProp;

int device = 2 ; // choose Tesla C1060 as target device

cudaGetDeviceProperties(&deviceProp, device);

cudaSetDevice( device );

printf("use device %d, name = %s\n", device, deviceProp.name );

search these functions in CudaReferenceManual.pdf

Tried and it works perfect!

Thank you very much, you helped me a lot with all your replies!