Ubuntu 9.04 - Cuda 2.3 - no device supporting CUDA SLI GTX cards are not recognized by cuda runtime

I’ve installed the following Cuda toolset:

cudadriver_2.3_linux_64_190.18.run

cudasdk_2.3_linux.run

cudatoolkit_2.3_linux_64_ubuntu9.04.run

After configuring and building the SDK examples, I am getting the following output from deviceQuery (as well as similar messages from the other examples):

[indent]

[codebox]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: Default (multiple host threads can use this device simultaneously)

Test PASSED

Press ENTER to exit…[/indent]

I’ve attached my nvidia bug report. I scanned through it, and did not see any obvious problem.

Atfer searching the forums, I added the following entry to my grub.conf:

[indent]title Ubuntu 9.04, kernel 2.6.28-14-generic cuda

uppermem 524288

uuid 7075f9c9-033a-4203-8976-fe4e9a6ef0fc

kernel /vmlinuz-2.6.28-14-generic root=UUID=20a4ec3a-c5f5-41fa-bf84-27c4596a92ac ro quiet splash vmalloc=256MB pci=nommconf

initrd /initrd.img-2.6.28-14-generic[/codebox]

[/indent]

I also added:

[indent]Option “Int10Module” “on”[/indent]

to the device section of my xorg.conf.

Neither of these tweaks fixed the problem.

Has anyone gotten a GTX SLI configuration working using Ubuntu 9.04?
nvidia_bug_report.log.gz (55.7 KB)

What driver have you installed?

I confirm the same problem with a 32-bit version of ubuntu 9.04 running 2 GTX-295 cards and CUDA 2.3 with driver 190.18.

I have fixed this problem by adding “vmalloc=512M” to the kernel line in /boot/grub/menu.lst

kernel /boot/vmlinuz-2.6.28-14-generic root=UUID=446b6d1b-5aa8-4797-91dd-cad85f6232fc ro quiet splash vmalloc=512M

Note: I had omitted the “M” earlier (vmalloc=512) and that caused a kernel panic.

This didn’t appear to have any effect.

According to the CUDA Release notes this fix is for a bug in grub on 32-bit systems.

Are there any environment variables or debugging flags I can set to get more information about why this isn’t working?

Hello all,

has this issue been resolved in the meantime? I am experiencing the same problem.

Cheers,

ahs1200.

I was having similar problems (8800GTX with 190.18 and Ubuntu 9.04 worked for accelerating desktop applications but refused to respond to Cuda programs). It ended up being a permissions problem on the /dev/nv* entries.

Use the init script off the release notes to load the driver, or make sure the /dev/nv* entries are chmodded 666:
[url=“http://developer.download.nvidia.com/compute/cuda/2_3/toolkit/docs/cudatoolkit_release_notes_linux.txt”]http://developer.download.nvidia.com/compu...notes_linux.txt[/url]

On my system, the problem appears to have been a result of an old configuration file (which the init script warned me about) (/etc/modprobe.d/nvidia-kernel-nkc) which I have since removed.

Hope that helps,
Ben

I tried this without any luck. I did notice though that ‘lspci | grep -i nvidia’ is not returning any 3D controllers. Instead I’m only getting the VGA controllers:

modprobe nvidia

lspci | grep -i nvidia

01:00.0 VGA compatible controller: nVidia Corporation GT200 [GTX260-216] (rev a1)

02:00.0 VGA compatible controller: nVidia Corporation GT200 [GTX260-216] (rev a1)

Any ideas about what could be prevent the 3D controllers from listing?

There are no separate “3D controllers”. What you have is what is expected - two nVidia GPUs on two PCI slots. On my non-SLI development box with a pair of GTX275s, I get this:

avid@cuda:~$ lspci | grep nVidia

01:00.0 VGA compatible controller: nVidia Corporation Device 05e6 (rev a1)

04:00.0 VGA compatible controller: nVidia Corporation Device 05e6 (rev a1)

and I get these three devices with the nvidia drivers loaded and X11 running:

avid@cuda:~$ lsmod | grep nvidia

nvidia			   9687144  52 

avid@cuda:~$ ls -l /dev/nvidia*

crw-rw-rw- 1 root root 195,   0 2009-10-02 09:08 /dev/nvidia0

crw-rw-rw- 1 root root 195,   1 2009-10-02 09:08 /dev/nvidia1

crw-rw-rw- 1 root root 195, 255 2009-10-02 09:08 /dev/nvidiactl

IAll this is on an Ubuntu 9.04 x86_64 machine running 190.x drivers the CUDA 2.3 toolkit.

That’s pretty much what I see, but when I run deviceQuery I only get:

There is no device supporting CUDA.

It should be identical - we theoretically have the same kernel, drivers and distribution. deviceQuery links like this for me,

avid@cuda:~$ LD_LIBRARY_PATH=/opt/cuda/lib64 ldd NVIDIA_GPU_Computing_SDK/C/bin/linux/release/deviceQuery

		linux-vdso.so.1 =>  (0x00007ffff1bff000)

		libcudart.so.2 => /opt/cuda/lib64/libcudart.so.2 (0x00007f1de9606000)

		libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f1de92f9000)

		libm.so.6 => /lib/libm.so.6 (0x00007f1de9074000)

		libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f1de8e5c000)

		libc.so.6 => /lib/libc.so.6 (0x00007f1de8aea000)

		libpthread.so.0 => /lib/libpthread.so.0 (0x00007f1de88ce000)

		libdl.so.2 => /lib/libdl.so.2 (0x00007f1de86ca000)

		librt.so.1 => /lib/librt.so.1 (0x00007f1de84c2000)

		/lib64/ld-linux-x86-64.so.2 (0x00007f1de9846000)

and I have

avid@cuda:~$ ls -l /usr/lib/libcuda*

lrwxrwxrwx 1 root root	  12 2009-09-19 10:10 /usr/lib/libcuda.so -> libcuda.so.1

lrwxrwxrwx 1 root root	  17 2009-09-19 10:10 /usr/lib/libcuda.so.1 -> libcuda.so.190.18

-rwxr-xr-x 1 root root 3615008 2009-09-19 10:10 /usr/lib/libcuda.so.190.18

I don’t have an SLI configuration, but I also encountered the output “There is no device supporting CUDA” when I first tried to run deviceQuery.

I removed the “obj” folder in NVIDIA_GPU_Computing_SDK/C/src/deviceQuery that appeared when I first did “make”, and then tried “sudo make” instead.

I executed the binary by doing “sudo ./deviceQuery” and my CUDA-enabled devices were then correctly listed.

Does that work for you? (And if anyone could explain why this works and how that could be changed, i.e. without having to append “sudo”, that would be great :-)

That will be because of permissions on the /dev/nvidia* entries. You can see how they ought to look in my post above.

My permissions for /dev/nvidia* seem to be the same as yours:

[codebox]$ ls -l /dev/nvidia*

crw-rw-rw- 1 root root 195, 0 2009-10-19 17:54 /dev/nvidia0

crw-rw-rw- 1 root root 195, 1 2009-10-19 17:54 /dev/nvidia1

crw-rw-rw- 1 root root 195, 2 2009-10-19 17:54 /dev/nvidia2

crw-rw-rw- 1 root root 195, 3 2009-10-19 17:54 /dev/nvidia3

crw-rw-rw- 1 root root 195, 255 2009-10-19 17:54 /dev/nvidiactl

[/codebox]

and yet I still have to do “sudo make” in order for the devices to be recognized. Any idea why?

EDIT: After the upgrade everything works fine for me.

I’m having the same problems as you do, but I cannot even execute with sudo make and sudo ./device query.

About my specs:

I run ubuntu 9.10

My card is a Quadro NVS 290

My driver is version 185 (I’m upgrading it, as soon as it is done I will edit this post).

EDIT: I upgraded the driver to the 190.

$ ls -l /dev/nvidia*

crw-rw-rw- 1 root root 195,   0 2009-10-23 15:53 /dev/nvidia0

crw-rw-rw- 1 root root 195, 255 2009-10-23 15:53 /dev/nvidiactl
$ lspci | grep nVidia

02:00.0 VGA compatible controller: nVidia Corporation G86 [Quadro NVS 290] (rev a1)

any suggestion?