Yet another No usable GPUs found

Message boards : GPUs : Yet another No usable GPUs found
Message board moderation

To post messages, you must log in.

AuthorMessage
Tattoo Buckeye

Send message
Joined: 17 Jul 11
Posts: 15
United States
Message 39042 - Posted: 18 Jul 2011, 1:04:14 UTC

I've been working on this much of the day and not making much progress. I've read through many threads and tried many things with no success. I'm hoping someone with a deeper knowledge of linux can help. Here's my status:

My GPU is an nVidia 8400 GS GPU. I can see my GPU with both the GPU-Z utility in XP and the nvidia configuration gui in linux. Nvidia X Server Settings reports 8 CUDA Cores.

I'm running:

boinc client 6.10.58 for i686-pc-linux-gnu
32-bit kernel 2.6.38.3-pclos1.bfs (PCLinuxOS)
OpenGL version is 3.3.0 NVIDIA 275.09.07
X 11.002.00

First off, mine is not an X timing issue because a daemon restart still does not detect the GPU.

I added video group to user boinc

using the ls -l /dev/nvidia*

I discovered that my /dev/nvidia0 and /dev/nvidiactl devices are members of root root. So while gnashing my teeth I added group root to user boinc. If this doesn't fix permissions, I don't know what will. :(

My boinc user is in fact boinc and not anything like boinc-user.

As a last ditch effort, I added boinc to xhost with:

xhost +si:local:boinc

and got back:

local:boinc being added to access control list
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 109 (X_ChangeHosts)
Value in failed request: 0xb
Serial number of failed request: 7
Current serial number in output stream: 9


I really don't know what I'm doing with the xhost, just monkey-typing based on something I saw in another thread dealing with this problem.

when I do the xhost command I get this:

# xhost
access control enabled, only authorized clients can connect
LOCAL:
INET:ASUS-P5KPL-CM


Finally, I found an NVIDIA CUDA/opencl library that wasn't installed so I installed it with synaptic.

After many reboots and daemon restarts, still no gpu. I've read in some posts that the libcudart.so library is needed. I don't have one in my boinc directory. But my boinc client does not complain about not finding or loading libcudart.so in the message log.

I found the following two CUDA libraries on my computer:

# find -name "libcuda*"
./usr/lib/nvidia-current/libcuda.so.1
./usr/lib/nvidia-current/libcuda.so.275.09.07

So, I'm at a loss. Please help!
ID: 39042 · Report as offensive
Tattoo Buckeye

Send message
Joined: 17 Jul 11
Posts: 15
United States
Message 39045 - Posted: 18 Jul 2011, 2:47:29 UTC - in response to Message 39043.  


1) You're using the xhost command incorrectly. It could be either "xhost +si:boinc" or "xhost +local:boinc" but "xhost +si:local:boinc" is syntactically wrong. Do "man xhost" in a terminal to see the syntax for xhost.

xhost +si:boinc complains with:

xhost: type must be specified for server interpreted family "boinc"
xhost:  bad hostname "si:boinc"

xhost +local:boinc does not complain, but doesn't seem to change anything because "xhost" returns:

access control enabled, only authorized clients can connect
LOCAL:
INET:ASUS-P5KPL-CM

as before.


2) You definitely need a libcudart.so. I'm not saying including it will fix your problem with BOINC recognizing the GPU but you will definitely need it for running CUDA apps under BOINC. I believe you can download libcudart.so from the NVIDIA site. Another waay to get it is to download the Berkeley installer, run it and find libcudart.so in the BOINC directory the installer creates. You'll have to make boinc the owner of libcudart.so or give all read and execute permission. I would put it /usr/lib so boinc client can find it.

Couldn't find libcudart.so at nvidia. I'm kind of at a loss with the Berkeley installer. It's a .sh file and I don't know how to cope with it. Do I need to stop my client and uninstall the current boinc?

Anyway, I copied my /usr/lib/nvidia-current/libuda.so.1 to /var/lib/boinc/libcudart.so and restarted the client. No difference in the startup messages. My boinc does not say it's using any cuda libraries. Here's what it says:

, 2011-07-17 22:35:39, Starting BOINC client version 6.10.58 for i686-pc-linux-gnu
, 2011-07-17 22:35:39, Config: GUI RPC allowed from:
, 2011-07-17 22:35:39, Config:   GM5457E-Ely
, 2011-07-17 22:35:39, Config:   192.168.1.107
, 2011-07-17 22:35:39, Config:   192.168.1.114
, 2011-07-17 22:35:39, log flags: file_xfer, sched_ops, task
, 2011-07-17 22:35:39, Libraries: libcurl/7.21.7 OpenSSL/1.0.0d zlib/1.2.3 libidn/1.22 libssh2/1.2.8 librtmp/2.3
, 2011-07-17 22:35:39, Running as a daemon
, 2011-07-17 22:35:39, Data directory: /var/lib/boinc
, 2011-07-17 22:35:40, Processor: 2 GenuineIntel Intel(R) Pentium(R) Dual  CPU  E2220  @ 2.40GHz [Family 6 Model 15 Stepping 13]
, 2011-07-17 22:35:40, Processor: 1.00 MB cache
, 2011-07-17 22:35:40, Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm 
, 2011-07-17 22:35:40, OS: Linux: 2.6.38.3-pclos1.bfs
, 2011-07-17 22:35:40, Memory: 3.47 GB physical, 7.97 GB virtual
, 2011-07-17 22:35:40, Disk: 38.40 GB total, 23.21 GB free
, 2011-07-17 22:35:40, Local time is UTC -4 hours
, 2011-07-17 22:35:40, No usable GPUs found


Wouldn't the client complain if it wasn't loading a CUDA library? Why doesn't it acknowledge it is loading one?
ID: 39045 · Report as offensive
Tattoo Buckeye

Send message
Joined: 17 Jul 11
Posts: 15
United States
Message 39046 - Posted: 18 Jul 2011, 2:59:52 UTC - in response to Message 39045.  

Here's a question, does boinc load the cuda library after it finds a usable GPU or does it use the cuda library in order to find the GPU?
ID: 39046 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 14998
Netherlands
Message 39049 - Posted: 18 Jul 2011, 5:05:31 UTC - in response to Message 39048.  
Last modified: 18 Jul 2011, 6:36:36 UTC

I don't think BOINC uses libcudart.so at all.

Oh, but it does. As coproc_detect.cpp will show you. It checks for the presence of the cuda library in order to find the GPU.

(Edit: line 227 and onwards deals with the detection)
(Edit2: libcudart.so is part of your videocard drivers)
ID: 39049 · Report as offensive
Profile Trog Dog
Avatar

Send message
Joined: 6 May 06
Posts: 287
Australia
Message 39060 - Posted: 18 Jul 2011, 10:38:11 UTC - in response to Message 39045.  

, 2011-07-17 22:35:39, Running as a daemon




This is at least part of your problem, BOINC has problems recognising GPUs when run as a deamon. Some distro's can work around the problem - others have yet to/may not be able to. You appear to be running PCLOS, which last time I used it was a Mandriva derivative, therefore if you can't find specific PCLOS instructions you can try Mandriva solutions, but there is no guarantee that they will work - as there is no guarantee that instructions for other distros will work.

To test definitively whether BOINC recognises your gpu, stop the deamon from running, then from within your X/desktop environment open a terminal window and run the boinc client (sudo boinc [in debian] sudo boinc_client [in gentoo] and pclos is probably something different again) If you run the command from a root terminal you won't need the sudo part of the command. In the terminal you will then see the normal startup output and one of the last messages should be boinc recognising your gpu. If it doesn't then you have not configured your system properly for gpu use - ie. you're missing some drivers.

If boinc does recognise your gpu then kill this instance of boinc (control c will do that) retype your previous command that got boinc to run with the addition of -- dir /var/lib/boinc (so in gentoo it would be sudo boinc_client --dir /var/lib/boinc ) this will run your exisiting boinc with your current projects.
CIC1=CC=C(C2=N[C@@H](CC(OC(C)(C)C)=O)C3=NN=C(C)N3C4=C2C(C)=C(C)S4)C=C1
ID: 39060 · Report as offensive
Tattoo Buckeye

Send message
Joined: 17 Jul 11
Posts: 15
United States
Message 39068 - Posted: 18 Jul 2011, 13:44:14 UTC

Thanks for your replies. I have tried your suggestions and still no gpu. First, I downloaded and extracted the Berkeley install files. Copied libcudart.so into the boinc /var/lib/boinc directory. In retrospect I don't think this could be the problem because when reading through the code as suggested by Ageless:

(Edit: line 227 and onwards deals with the detection)
(Edit2: libcudart.so is part of your videocard drivers)

There are warnings when the gpu library is not found. My system reports no warnings, unless I don't have them turned on or not looking in the right place. The nvidia cuda library is installed on my system, and it's seems to be in:

/usr/lib/nvidia-current/libcuda.so.1
/usr/lib/nvidia-current/libcuda.so.275.09.07

As Trog Dog suggested, PCLOS is in fact a derivative of Mandiriva. I will be searching for Mandriva/GPU issues to find something related to my problem. I did however stop my client and started it as root with the command:

boinc_client --dir /var/lib/boinc

same deal. So I used the xhost + command, and now xhost reports "access control disabled, clients can connect from any host".

Stopped and restarted the client from the command line, and same deal. As I mentioned before, I'm using nvidia 275 drivers. In another thread (http://boinc.berkeley.edu/dev/forum_thread.php?id=6629#38415) Claggy said this about my exact graphic card:

Both Seti and Collatz work on my PCI 512Mb 8400 GS no problem (on 266.58 drivers, there are problems with 27x.xx and later drivers)

My synaptic does not give me a choice of installing 266 drivers. Is this my next step?
ID: 39068 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 14998
Netherlands
Message 39070 - Posted: 18 Jul 2011, 14:11:53 UTC - in response to Message 39068.  

There are warnings when the gpu library is not found. My system reports no warnings

Well, in a sense your system does give a warning, the line about No usable GPUs found.

Here's what it says when the CUDA library is not found:
16/07/2011 07:24:00 | | ATI GPU 0 (ignored by config): ATI Radeon HD 4700/4800 (RV740/RV770) (CAL version 1.4.1332, 1024MB, 1000 GFLOPS peak)
16/07/2011 07:24:00 | | No NVIDIA library found
16/07/2011 07:24:00 | | No usable GPUs found

That's from my system, the line about No usable GPUs found is here correct, as I have my ATI GPU ignored and no Nvidia GPU in this system.
ID: 39070 · Report as offensive
Tattoo Buckeye

Send message
Joined: 17 Jul 11
Posts: 15
United States
Message 39071 - Posted: 18 Jul 2011, 14:23:52 UTC - in response to Message 39070.  

Here's what it says when the CUDA library is not found:
16/07/2011 07:24:00 | | ATI GPU 0 (ignored by config): ATI Radeon HD 4700/4800 (RV740/RV770) (CAL version 1.4.1332, 1024MB, 1000 GFLOPS peak)
16/07/2011 07:24:00 | | No NVIDIA library found
16/07/2011 07:24:00 | | No usable GPUs found

Right, I only get the last of the above messages. So boinc seems to be finding the cuda library on my system. But then it decided it doesn't like my gpu for some reason. It can't really be a permission thing because it's running as root with xhost wide open. Dunno.
ID: 39071 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 14998
Netherlands
Message 39075 - Posted: 18 Jul 2011, 15:27:33 UTC - in response to Message 39071.  

OK, we're going to set up a cc_config.xml file. Usually this is put in the BOINC Data directory, which on Linux is wherever you installed BOINC. Else I'm sure either Dago or TD will help you there. (Sorry, I'm a Windows buff).

Use any plain text editor to make the file. No need for XML editors, as the XML we use is made for BOINC, it's not true XML yet.

Add into this file the following lines:
<cc_config>
<log_flags>
<coproc_debug>1</coproc_debug>
</log_flags>
</cc_config>


Save the file, make sure its extension is .xml, not .txt as some editors really want to put behind text files. Next exit BOINC & restart it.

Then post the start-up messages, including whatever it will have said about the co-processor debug. That way we can check if the library has been found.
ID: 39075 · Report as offensive
Tattoo Buckeye

Send message
Joined: 17 Jul 11
Posts: 15
United States
Message 39079 - Posted: 18 Jul 2011, 17:28:12 UTC - in response to Message 39075.  

OK, that produced some logs. They are not happy logs.

18-Jul-2011 13:23:18 [---] No NVIDIA library found
18-Jul-2011 13:23:18 [---] No ATI library found
18-Jul-2011 13:23:18 [---] No usable GPUs found

Should I use the Berkeley installer? Do I need to first uninstall my existing boinc using synaptic?
ID: 39079 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 14998
Netherlands
Message 39082 - Posted: 18 Jul 2011, 18:12:35 UTC - in response to Message 39079.  

Well, this isn't a BOINC problem but a videocard driver problem. As long as you don't install the correct videocard drivers, or they need something special (be in the same user level as BOINC is running at), BOINC won't find the GPU(s). No matter which BOINC version you use.

Did I read elsewhere that this is a PCI 8400GS? Not PCI-E or AGP? Just plain PCI? That may still need motherboard chipset drivers to work correctly. Again, don't ask me how to check that, I don't know. ;-)

Linux Gurus?
ID: 39082 · Report as offensive
Tattoo Buckeye

Send message
Joined: 17 Jul 11
Posts: 15
United States
Message 39083 - Posted: 18 Jul 2011, 18:30:04 UTC - in response to Message 39082.  

Yes, that is right. It is a PCI 8400 GS, not PCI-E X16. I don't see how bus width could make a difference unless there's a bug in the interface. And the nvidia display properties configurator detects the cuda cores.

Could you please tell me how boinc searches for the cuda library? Does it try to use libcudart.so from its data directory or does it make calls to the system to find the library?
ID: 39083 · Report as offensive
Profile Trog Dog
Avatar

Send message
Joined: 6 May 06
Posts: 287
Australia
Message 39089 - Posted: 18 Jul 2011, 22:31:40 UTC - in response to Message 39068.  

As I mentioned before, I'm using nvidia 275 drivers. In another thread (http://boinc.berkeley.edu/dev/forum_thread.php?id=6629#38415) Claggy said this about my exact graphic card:

Both Seti and Collatz work on my PCI 512Mb 8400 GS no problem (on 266.58 drivers, there are problems with 27x.xx and later drivers)

My synaptic does not give me a choice of installing 266 drivers. Is this my next step?


Are you using your gpu as your display - .ie is your monitor connected to your gpu card?

If the problem is a driver issue as Claggy said you could try this http://rpm.pbone.net/index.php3/stat/4/idpl/14918423/dir/pclinuxos/com/nvidia-current-cuda-opencl-260.19.29-1pclos2010.i586.rpm.html

http://www.google.com.au/search?q=pclos+installing+rpm+from+rpbone&sourceid=ie7&rls=com.microsoft:en-au:IE-Address&ie=&oe=&redir_esc=&ei=Aq4kTu_AD5GvrAflyOCrCQ

Last time I used pclos their forums were pretty active and helpful, I would ask for their advice on installing non-current packages found on rpbone first though. This also presumes that the 260 version of the package is compatible with your gpu.
CIC1=CC=C(C2=N[C@@H](CC(OC(C)(C)C)=O)C3=NN=C(C)N3C4=C2C(C)=C(C)S4)C=C1
ID: 39089 · Report as offensive
Claggy

Send message
Joined: 23 Apr 07
Posts: 1112
United Kingdom
Message 39090 - Posted: 18 Jul 2011, 22:41:02 UTC - in response to Message 39089.  
Last modified: 18 Jul 2011, 22:42:17 UTC

The Problem i reported was a Windows only problem, with downclocking of GPU's with non thread safe Cuda apps and Cuda 4 drivers,

FYI to all Nvidia Crunches out there... Clock speed Problems

Claggy
ID: 39090 · Report as offensive
Tattoo Buckeye

Send message
Joined: 17 Jul 11
Posts: 15
United States
Message 39092 - Posted: 18 Jul 2011, 23:32:47 UTC - in response to Message 39090.  

Thanks for your reply, Claggy. Doesn't sound like the downclocking problem is causing my issue. Installing an old driver probably won't help.

I don't think it's a permission problem because I added boinc to the root group.

Yes, 2 monitors hooked up to the nvidia card. It is my main display adaptor. There is an integrated display adapter on the motherboard. I don't remember if it is enabled in the bios, but I know it doesn't display anything.

I haven't done the echo path or the ls for a library. I booted XP, installed boinc as a service. Tried to run things just as the download server hiccuped, so I thought there was something else wrong. But then the download server rested-up a bit and sent me a bunch of CUDA tasks. I'm crunching one now along with a couple CPU tasks.

So I'm gonna give up on the Linux effort for now. As much as I like PCLOS, this is not my main desktop and running XP won't hurt me that much... except the frequent reboots. Also, flash works a bit better too.

Thanks again. Maybe I'll revisit this some other time.
ID: 39092 · Report as offensive
Profile Trog Dog
Avatar

Send message
Joined: 6 May 06
Posts: 287
Australia
Message 39109 - Posted: 19 Jul 2011, 14:23:21 UTC - in response to Message 39092.  
Last modified: 19 Jul 2011, 15:19:08 UTC

Having now had the time to read Claggy's post I can't see the driver version being the problem. Googling doesn't turn up much, one link has a user noting that the cuda drivers are in /usr/lib/nvidia-current as opposed to /usr/lib/ he then goes on to say that he's created symlinks in /usr/lib/ to see if that helps, but there's no follow up posting to say whether that was successful or not. EDIT:(if you try this option run ldconfig as root after creating the symlinks to update your library cache)

There's another link where a user reports when logged in under his username boinc wont detect his nvidia gpu, but if he logs out then back in as boinc then it works ???

Sorry I can't be more helpful.

(Of course if you're not wedded to pclos you could always try a new distro :( )

Edit 2: just to be sure it looks like you need to have the following packages installed -

dkms-nvidia-current-260.19.29-1pclos2010.i586.rpm
x11-driver-video-nvidia-current-260.19.29-1pclos2010.i586.rpm
nvidia-current-cuda-opencl-260.19.29-1pclos2010.i586.rpm
CIC1=CC=C(C2=N[C@@H](CC(OC(C)(C)C)=O)C3=NN=C(C)N3C4=C2C(C)=C(C)S4)C=C1
ID: 39109 · Report as offensive
Tattoo Buckeye

Send message
Joined: 17 Jul 11
Posts: 15
United States
Message 39147 - Posted: 20 Jul 2011, 22:01:06 UTC - in response to Message 39109.  

Dagorath,

echo $PATH as root returns:

/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/lib/kde4/libexec:/usr/lib/qt4/bin:/usr/bin:/usr/sbin:/usr/lib/kde4/libexec:/bin:/sbin:/usr/X11R6/bin:/usr/games:/usr/local/bin:/usr/local/sbin

So I copied the libcudart.so that I extracted from the Berkeley install into /usr/games which is in the path. Then I checked permissions of libcudart.so and it is set to 755, as are the directory permissions of /usr and /usr/games.

Restarted the daemon and still got:

Wed 20 Jul 2011 05:45:05 PM EDT No NVIDIA library found
Wed 20 Jul 2011 05:45:05 PM EDT No ATI library found
Wed 20 Jul 2011 05:45:05 PM EDT No usable GPUs found

Trog Dog, on my system the cuda libraries are in:

/usr/lib/nvidia-current

They are named libcuda.so.1 and libcuda.so.275.09.07. There is no libcudart.so except the one I got from the Berkeley installer. I've placed this file in several places hoping boinc finds it. No luck with that.

And finally, yes I am wedded to PCLOS. I found her after an extensive search. You see when my Vista went KSOD (black screen of death), I went looking for a more faithful bride. I found her. But I'm very sad to say I've taken up with that Win ho again. :(
ID: 39147 · Report as offensive

Message boards : GPUs : Yet another No usable GPUs found

Copyright © 2022 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.