Seti@Home optimized science apps and information

Optimized Seti@Home apps => Linux => Topic started by: jim2006193 on 03 Nov 2009, 05:50:49 pm

Title: Help installing CUDA version
Post by: jim2006193 on 03 Nov 2009, 05:50:49 pm
I'm kinda new the this on linux.  I'm not to sure how to install this custom version of seti to use CUDA. I'm running Ubuntu 9.10 with a 9800gtx.  I can't even find where to put this file, setiathome-CUDA-6.08.x86_64-pc-linux-gnu.

Also I already installed the CUDA libs, in lib64 or w/e
Title: Re: Help installing CUDA version
Post by: sunu on 03 Nov 2009, 06:04:49 pm
Welcome aboard :)

1) If you use BOINC from synaptic uninstall it, it is probably old. Go to http://boinc.berkeley.edu/download_all.php and get 6.10.17. Install it to your /home directory.
2)  Make sure all the appropriate cuda libs from 2.3 toolkit

libcudart.so
libcudart.so.2
libcudart.so.2.2
libcufft.so
libcufft.so.2
libcufft.so.2.2

are in the projects/setiathome.berkeley.edu directory.

3)  Edit accordingly your ld.so.conf or the corresponding ld-something file of your distro with the above location of the cuda libs and then run ldconfig to update the cache.

4. The cuda executable (setiathome-CUDA-6.08.x86_64-pc-linux-gnu) goes also to the projects/setiathome.berkeley.edu directory. Copy also the app_info.xml file there.
Title: Re: Help installing CUDA version
Post by: jim2006193 on 03 Nov 2009, 06:43:45 pm
projects/setiathome.berkeley.edu

where do i find that dir?
Title: Re: Help installing CUDA version
Post by: jim2006193 on 03 Nov 2009, 06:48:04 pm
nvm, found it
Title: Re: Help installing CUDA version
Post by: jim2006193 on 04 Nov 2009, 12:24:51 am
this is what i get in the boinc client:

[error] Application file libcudart.so.2 missing signature

Any ideas?
Title: Re: Help installing CUDA version
Post by: sunu on 04 Nov 2009, 05:49:28 am
Please post your app_info.xml and a link to your host.

What driver do you use?
Title: Re: Help installing CUDA version
Post by: jim2006193 on 04 Nov 2009, 06:33:46 am
Ok, reformated, had other problems, anyway, got past that, how do I know if its running on my GPU? it said it was fetching work for the cpu and gpu. Does that mean it's working?
Title: Re: Help installing CUDA version
Post by: sunu on 04 Nov 2009, 06:48:01 am
You can check your graphics card temperature. It should be a lot hotter that idle. You can also check your processes with System Monitor or top.
Title: Re: Help installing CUDA version
Post by: jim2006193 on 04 Nov 2009, 06:51:54 am
Thats what I thought to, so I checked it and its was still at 60 :/
Title: Re: Help installing CUDA version
Post by: jim2006193 on 04 Nov 2009, 06:55:36 am
Ok, in the message tab it seems to be asking for work for the GPU specifically, but then it gets 0 new tasks, with a message from the server: No work sent.
Title: Re: Help installing CUDA version
Post by: sunu on 04 Nov 2009, 07:10:29 am
In your boinc directory create a file called cc_config.xml and put this inside:

<cc_config>
    <log_flags>
        <sched_op_debug>1</sched_op_debug>
        <work_fetch_debug>1</work_fetch_debug>
    </log_flags>
    <options>
    </options>
</cc_config>

Restart boinc, let it run for a while and post here the messages.
Title: Re: Help installing CUDA version
Post by: jim2006193 on 04 Nov 2009, 07:31:36 am
http://darkvendetta.com/images/boinc/boinc.png
Title: Re: Help installing CUDA version
Post by: jim2006193 on 04 Nov 2009, 07:35:23 am
By the way sunu, I appreciate all the help you have given me!
Title: Re: Help installing CUDA version
Post by: sunu on 04 Nov 2009, 08:25:09 am
I don't see anything bad. There was a shortage of workunits for the last week or so. Maybe this is it. Maybe we should wait and see. Can you also post the messages when boinc starts?
Title: Re: Help installing CUDA version
Post by: jim2006193 on 04 Nov 2009, 08:42:12 am
http://darkvendetta.com/images/boinc/startup.png

K, I'll give it some time, thanks again :D
Title: Re: Help installing CUDA version
Post by: Richard Haselgrove on 04 Nov 2009, 08:52:04 am
Linux without any app_info.xml file won't get you any CUDA work - there's no stock Linux CUDA build.

But no rush to install the Lunatics build - SETI seems to have gone off the air, and I doubt anyone will be getting anything until the lab opens in three hours' time.
Title: Re: Help installing CUDA version
Post by: sunu on 04 Nov 2009, 09:24:27 am
Linux without any app_info.xml file won't get you any CUDA work - there's no stock Linux CUDA build.

Yes in the picture you posted with messages from boinc start there weren't any messages about app_info.xml and anonymous platform. jim2006193, can you post here your app_info.xml? Do you use one?
Title: Re: Help installing CUDA version
Post by: Richard Haselgrove on 04 Nov 2009, 09:30:30 am
If he is, it's in the wrong place - there's no

2009-10-31 16:01:02 [SETI@home] Found app_info.xml; using anonymous platform

line in his startup graphic
Title: Re: Help installing CUDA version
Post by: jim2006193 on 04 Nov 2009, 04:29:16 pm
Code: [Select]
<app_info>
<app>
<name>setiathome_enhanced</name>
</app>
<file_info>
<name>setiathome-CUDA-6.08.x86_64-pc-linux-gnu</name>
<executable/>
</file_info>
<file_info>
<name>libcudart.so.2</name>
<executable/>
</file_info>
<file_info>
<name>libcufft.so.2</name>
<executable/>
</file_info>
<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>528</version_num>
<plan_class>cuda</plan_class>
<avg_ncpus>0.040000</avg_ncpus>
<max_ncpus>0.040000</max_ncpus>
<coproc>
<type>CUDA</type>
<count>1</count>
</coproc>
<file_ref>
<file_name>setiathome-CUDA-6.08.x86_64-pc-linux-gnu</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>libcudart.so.2</file_name>
</file_ref>
<file_ref>
<file_name>libcufft.so.2</file_name>
</file_ref>
</app_version>
<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>603</version_num>
<plan_class>cuda</plan_class>
<avg_ncpus>0.040000</avg_ncpus>
<max_ncpus>0.040000</max_ncpus>
<coproc>
<type>CUDA</type>
<count>1</count>
</coproc>
<file_ref>
<file_name>setiathome-CUDA-6.08.x86_64-pc-linux-gnu</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>libcudart.so.2</file_name>
</file_ref>
<file_ref>
<file_name>libcufft.so.2</file_name>
</file_ref>
</app_version>
<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>605</version_num>
<plan_class>cuda</plan_class>
<avg_ncpus>0.040000</avg_ncpus>
<max_ncpus>0.040000</max_ncpus>
<coproc>
<type>CUDA</type>
<count>1</count>
</coproc>
<file_ref>
<file_name>setiathome-CUDA-6.08.x86_64-pc-linux-gnu</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>libcudart.so.2</file_name>
</file_ref>
<file_ref>
<file_name>libcufft.so.2</file_name>
</file_ref>
</app_version>
<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>606</version_num>
<plan_class>cuda</plan_class>
<avg_ncpus>0.040000</avg_ncpus>
<max_ncpus>0.040000</max_ncpus>
<coproc>
<type>CUDA</type>
<count>1</count>
</coproc>
<file_ref>
<file_name>setiathome-CUDA-6.08.x86_64-pc-linux-gnu</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>libcudart.so.2</file_name>
</file_ref>
<file_ref>
<file_name>libcufft.so.2</file_name>
</file_ref>
</app_version>
<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>608</version_num>
<plan_class>cuda</plan_class>
<avg_ncpus>0.040000</avg_ncpus>
<max_ncpus>0.040000</max_ncpus>
<coproc>
<type>CUDA</type>
<count>1</count>
</coproc>
<file_ref>
<file_name>setiathome-CUDA-6.08.x86_64-pc-linux-gnu</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>libcudart.so.2</file_name>
</file_ref>
<file_ref>
<file_name>libcufft.so.2</file_name>
</file_ref>
</app_version>
</app_info>

Title: Re: Help installing CUDA version
Post by: sunu on 04 Nov 2009, 07:03:59 pm
Not correct and too much redundant stuff. Use the one I'm attaching below. app_info.xml goes to the /projects/setiathome.berkeley.edu directory, that is where all the workunits are.

Also go to http://calbe.dw70.de/linux64.html and get "AK V8 Linux 64 SSSE3 INTEL only". Extract the executable and put it in /projects/setiathome.berkeley.edu directory.
Then go to http://calbe.dw70.de/mb/viewtopic.php?f=9&t=116 and get "setiathome-CUDA_2.2_6.08.x86_64_vlarkill". Extract the executable and put it in /projects/setiathome.berkeley.edu directory.
Copy again from cuda toolkit

libcudart.so
libcudart.so.2
libcudart.so.2.3
libcufft.so
libcufft.so.2
libcufft.so.2.3

to /projects/setiathome.berkeley.edu directory.

From Boinc manager go to Advanced, Preferences and push the Clear button.

Now boinc should be running ok.

[attachment deleted by admin]
Title: Re: Help installing CUDA version
Post by: BeemerBiker on 14 Feb 2010, 01:53:08 pm
Welcome aboard :)

1) If you use BOINC from synaptic uninstall it, it is probably old. Go to http://boinc.berkeley.edu/download_all.php and get 6.10.17. Install it to your /home directory.
2)  Make sure all the appropriate cuda libs from 2.3 toolkit

libcudart.so
libcudart.so.2
libcudart.so.2.2
libcufft.so
libcufft.so.2
libcufft.so.2.2

are in the projects/setiathome.berkeley.edu directory.

3)  Edit accordingly your ld.so.conf or the corresponding ld-something file of your distro with the above location of the cuda libs and then run ldconfig to update the cache.

4. The cuda executable (setiathome-CUDA-6.08.x86_64-pc-linux-gnu) goes also to the projects/setiathome.berkeley.edu directory. Copy also the app_info.xml file there.


The ubuntu distro creates a startup script in init.d unlike the berkeley which just seem to unpack the binaries.  I have been copying the new binaries into /usr/bin and the libcudart.so into /var/lib/boinc-client and letting the nvidia 190.53 installer stuff the rest of the cuda libs where it wants.  I assume that libcudart.so is only needed by the boinc core (IANE on boinc) and the ones you listed above go into the projects/setiathome.berkeley.edu

OK, but you listed a number of 2.2 files and looking at the release tar from the linux/cuda thread I see only 2.1

(http://stateson.net/images/luna_cuda_linux.png)
Also, is it necessary to do your step 3?   Gpugrid and einstine put their 2.3 and 2.2 stuff into their locations and there is no library building.

thanks for looking


Title: Re: Help installing CUDA version
Post by: sunu on 15 Feb 2010, 09:02:34 am
Don't use boinc from the ubuntu repositories. It's usually too old. Completely remove it and get it from http://boinc.berkeley.edu/download_all.php and install it in your HOME directory (number 1 from the snippet you quoted above).

The six cuda libraries I've mentioned are in the cuda toolkit which you can find in http://developer.nvidia.com/object/cuda_2_3_downloads.html . We are now in ver 2.3 so instead of the two 2.2s you'll have 2.3s.

If you use the nvidia drivers from the ubuntu repositories, completely remove them and get them straight from nvidia.

Don't use the libraries from the installer, they are too old. See above about the cuda toolkit.

There is a bit newer seti cuda version in http://calbe.dw70.de/mb/viewtopic.php?f=9&t=116 .

Yes, if you follow the 4 steps you quoted, step 3 is obligatory.

I don't know how gpugrid or einstein works, I've never used them.
Title: Re: Help installing CUDA version
Post by: BeemerBiker on 15 Feb 2010, 01:45:04 pm
Thanks SUNU!

I got it working finally.  Not knowing a lot about the inner workings of ubuntu, I added the phrase "include" in ld.so.conf where I should have just added /usr/local/cuda/lib64 by itself.  There was only one line in ld.so.conf and that had "include" so I assumed I needed to use include for the cuda libraries.

Do you know why the app_info has the two cuda llibs listed?  Boinc attempted to download them and of course they failed.

After I corrected thd ld.so.conf it quit attempting to download them and I got  my fiirst linux cuda wu.  It started at 26 hours but is dropping fast.

Ubuntu 9.1, GTS-250, Boinc 6.10.32 on a $13 motherboard http://tinyurl.com/yl7jbxa

(http://stateson.net/images/seti_linux.png)
Title: Re: Help installing CUDA version
Post by: Leopoldo on 15 Feb 2010, 02:12:29 pm
I got it working finally.
Please check Your results for repeating lines "Cuda error 'GaussFit_kernel' in file './cudaAcc_gaussfit.cu' in line 497 : invalid configuration argument."

If them exists - Your calculated result can't be compared to "stock" CPU-app 6.30, so Your computer will pollute SETI@home database with wrong results...
Title: Re: Help installing CUDA version
Post by: BeemerBiker on 15 Feb 2010, 02:27:31 pm
I got it working finally.
Please check Your results for repeating lines "Cuda error 'GaussFit_kernel' in file './cudaAcc_gaussfit.cu' in line 497 : invalid configuration argument."

If them exists - Your calculated result can't be compared to "stock" CPU-app 6.30, so Your computer will pollute SETI@home database with wrong results...


It finally uploaded and I got to see the results.
Seems ok - Here is the workunit processed 3 different ways. 
http://setiathome.berkeley.edu/workunit.php?wuid=570602820

clicking on the bottom one I see no error messages

http://setiathome.berkeley.edu/result.php?resultid=1516909565
Title: Re: Help installing CUDA version
Post by: sunu on 15 Feb 2010, 04:01:30 pm
I got it working finally.  Not knowing a lot about the inner workings of ubuntu, I added the phrase "include" in ld.so.conf where I should have just added /usr/local/cuda/lib64 by itself.  There was only one line in ld.so.conf and that had "include" so I assumed I needed to use include for the cuda libraries.
Revert ld.so.conf to its previous condition, that is delete anything you've written. In /etc there is a directory called ld.so.conf.d . In there create a file with a .conf extension, for example cudalibs.conf.  In that file write the path to the cuda libraries, without include, without anything. Finally run ldconfig to update the cache.


Do you know why the app_info has the two cuda llibs listed?  Boinc attempted to download them and of course they failed.
They need to be there, like the names of the other executables.

You'll also need to raise the priority of the cuda processes. If you don't know how to do this, use the script I attach below (you'll need to install the packages procps and bsdutils).

[attachment deleted by admin]
Title: Re: Help installing CUDA version
Post by: BeemerBiker on 15 Feb 2010, 10:41:57 pm
Thanks SUNU

I looked at the resource monitor and tried adjusting the priority from 10 to 0 but that does not work as well as allocating 3 of 4 cpu's to boinc.  ie:  the time to complete visiibly counts down faster when a full cpu is reserved.  SETI CUDA seems to use only %4 of the cpu.  I can see where setting the priority higher can make a difference.  Einstein uses a full cpu and gpugrid is almost as bad.  On those projects, the time to comlplete can rise from 12 to 24 houirs or more especially for gpugrid.  Reserving a cpu for them seems to be the best fix.  Collatz could possibly use the priority chainging scheme.

IMHO Boinc should set the priority of the seti task when it dispatches it.  One would think that a low cpu task like seti cuda could have its piriority increased while a cpu hog like einstein's cuda could stay at a nice 19.

I am quite pleased with the outcome of this SETI CUDA program.  Here is a comparision of two system.  I have a 9800gtx+ on vista 64 with a pair of opterons running at 2.2ghz.  The second system is the linux x64 cuda with GTS-250 and the opteron pair run only a 2ghz.  I tried matching the seti cuda work unit as best as I could, the vlar for the linux64 is .448 and the vlar for the vista64 is .382  . The linux system completed its work unit in about 1/2 the time that the "faster" vista64 system

Linux CUDA time
Run time 1452.497664
CPU time 139.17
http://setiathome.berkeley.edu/result.php?resultid=1516909565

Vista CUDA time
Run time 2430.243868
CPU time 564.9063
http://setiathome.berkeley.edu/result.php?resultid=1512627579


I recall one of the 3rd party boinc apps (Raistmer's?) could set the priority
Title: Re: Help installing CUDA version
Post by: sunu on 16 Feb 2010, 11:06:29 am
Those angle ranges are not comparable. The sad truth is that the linux cuda client is slower that the windows one. The cuda client in linux is based on a "first generation" code, while in windows there have been small tweaks in the code and several releases of the optimized client.