Porting s@h V7 to Linux

Message boards : Number crunching : Porting s@h V7 to Linux
Message board moderation

To post messages, you must log in.

1 · 2 · 3 · 4 · Next

AuthorMessage
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1373816 - Posted: 30 May 2013, 21:11:30 UTC
Last modified: 30 May 2013, 21:15:58 UTC

My big Linux server ran dry tonight, so I decided to upgrade to the latest BOINC before killing app_info.xml and letting the seti v7 stuff download. Of course I ran into the usual problem (due to my not being able to run a modern kernel because of the conservative nature of my CERN colleagues):
[eesridr:BOINC] > ./boinc --daemon
./boinc: error while loading shared libraries: libcurl.so.4: cannot open 
shared object file: No such file or directory
[eesridr:BOINC] > ldd boinc
./boinc: /lib/libc.so.6: version `GLIBC_2.7' not found (required by 
./boinc)
./boinc: /lib/libc.so.6: version `GLIBC_2.15' not found (required by 
./boinc)
./boinc: /lib/libc.so.6: version `GLIBC_2.11' not found (required by 
./boinc)
        linux-gate.so.1 =>  (0xffffe000)
        libcurl.so.4 => not found
        libssl.so.1.0.0 => not found
        libcrypto.so.1.0.0 => not found
        libdl.so.2 => /lib/libdl.so.2 (0x00bbe000)
        libz.so.1 => /lib/libz.so.1 (0x00d93000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x001ee000)
        libXss.so.1 => /usr/lib/libXss.so.1 (0xf7fb3000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00ba2000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00101000)
        libm.so.6 => /lib/libm.so.6 (0x00bc5000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00d85000)
        libc.so.6 => /lib/libc.so.6 (0x00a43000)
        /lib/ld-linux.so.2 (0x00a24000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00c95000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00da8000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x00d68000)

So, I had to again download the BOINC source and compile it in situ -- again having to learn yet another versioning system (I'm sure it was svn just recently, now it's git). So that got things flowing again, but no CUDA MB version for Linux...

Where do I download the seti V7 CUDA sources to compile on Linux?
ID: 1373816 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6325
Credit: 106,370,077
RAC: 121
Russia
Message 1373832 - Posted: 30 May 2013, 21:33:09 UTC - in response to Message 1373816.  
Last modified: 30 May 2013, 21:33:38 UTC

here: https://setisvn.ssl.berkeley.edu/svn/branches/sah_v7_opt
more precisely, here: https://setisvn.ssl.berkeley.edu/svn/branches/sah_v7_opt/Xbranch

(and don't forget to share your Linux port with community ;) )
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1373832 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1373837 - Posted: 30 May 2013, 21:39:19 UTC - in response to Message 1373816.  

Where do I download the seti V7 CUDA sources to compile on Linux?


Hi Ivan,
Long time no speak :) We were just chatting about that you may come out a day after Windows release & here you are :D

Sources available via Berkeley's svn repository at https://setisvn.ssl.berkeley.edu/svn/branches/sah_v7_opt/Xbranch , email contact at jgopt dot org if you are interested in contributing Linux platform updates needed for V7 multibeam.


probably will need the odd tweak (especially makefiles). Let me know what at the listed email contact. Once I have the necessary tweaks-updates & we confirm operation, especially of the new autocorrelations, I'd request stock distribution.

Jason
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1373837 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1373887 - Posted: 30 May 2013, 23:09:17 UTC - in response to Message 1373837.  
Last modified: 30 May 2013, 23:09:44 UTC

Where do I download the seti V7 CUDA sources to compile on Linux?


Hi Ivan,
Long time no speak :) We were just chatting about that you may come out a day after Windows release & here you are :D

Sources available via Berkeley's svn repository at https://setisvn.ssl.berkeley.edu/svn/branches/sah_v7_opt/Xbranch , email contact at jgopt dot org if you are interested in contributing Linux platform updates needed for V7 multibeam.


probably will need the odd tweak (especially makefiles). Let me know what at the listed email contact. Once I have the necessary tweaks-updates & we confirm operation, especially of the new autocorrelations, I'd request stock distribution.

Jason

Ciao Jason, Raistmer;
Ok, I'll try to take a look over the weekend (I'd better do some CERN work tomorrow...). At least get a feel for what's involved. Any executables I make would probably be of limited value elsewhere due to the ancient libraries I have to deal with (and the multiple versions of CUDA) but I'll certainly feed back any mods to source files that I find necessary.

I guess it will need to use an app_info.xml -- hope to get some guidance there from the Lunatix installer we're promised for next week.
ID: 1373887 · Report as offensive
Urs Echternacht
Volunteer tester
Avatar

Send message
Joined: 15 May 99
Posts: 692
Credit: 135,197,781
RAC: 211
Germany
Message 1373898 - Posted: 30 May 2013, 23:29:27 UTC - in response to Message 1373887.  

Ciao Jason, Raistmer;
Ok, I'll try to take a look over the weekend (I'd better do some CERN work tomorrow...). At least get a feel for what's involved. Any executables I make would probably be of limited value elsewhere due to the ancient libraries I have to deal with (and the multiple versions of CUDA) but I'll certainly feed back any mods to source files that I find necessary.

I guess it will need to use an app_info.xml -- hope to get some guidance there from the Lunatix installer we're promised for next week.

Try to link the libs for the small CPU part needed static and only the NV GPU part with shared libs, that will reduce the compatibility problems a lot. Newer glibc versions are usually compatible to older ones.
_\|/_
U r s
ID: 1373898 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1374444 - Posted: 31 May 2013, 17:38:03 UTC - in response to Message 1373832.  

here: https://setisvn.ssl.berkeley.edu/svn/branches/sah_v7_opt
more precisely, here: https://setisvn.ssl.berkeley.edu/svn/branches/sah_v7_opt/Xbranch

(and don't forget to share your Linux port with community ;) )


Well, there were no changes necessary to get it to compile, just a bit of a merry-go-round to get the ./configure options right. It didn't link, though, because I was using BOINC 7.0.65 and that has had the boinc_ops_cumulative function removed. So I reverted to using 7.0.31 but that had a problem that NULL wasn't defined in boinc_api.h so I just shoved in a
#include <stddef.h>
and it all worked.

I'm running a test on one of my current work-units now. Where are the standard test WUs?
ID: 1374444 · Report as offensive
Profile William
Volunteer tester
Avatar

Send message
Joined: 14 Feb 13
Posts: 2037
Credit: 17,689,662
RAC: 0
Message 1374446 - Posted: 31 May 2013, 17:43:24 UTC - in response to Message 1374444.  

I'm running a test on one of my current work-units now. Where are the standard test WUs?

here for the PG set (shortened tasks)

the FG set are full length tasks, the number denotes the AR.
A person who won't read has no advantage over one who can't read. (Mark Twain)
ID: 1374446 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1374454 - Posted: 31 May 2013, 17:58:50 UTC - in response to Message 1374446.  

I'm running a test on one of my current work-units now. Where are the standard test WUs?

here for the PG set (shortened tasks)

the FG set are full length tasks, the number denotes the AR.


Looks good so far; it took 17 minutes to run. The standard WU is still running but I get this at the head of a diff:

[eesridr:BOINC] > diff projects/setiathome.berkeley.edu/26oc12ac.27301.396954.8.12.56_0_0 /tmp/seti/result.sah 
593d592
<       <min_vgc>525</min_vgc>
612,613d610
<       <pfb_ntaps>16</pfb_ntaps>
<       <pfb_width_factor>1.04999995</pfb_width_factor>
665d661
<   <iq_modified>0</iq_modified>
676c672
<   <peak_power>18.271345266537</peak_power>
---
>   <peak_power>18.271329879761</peak_power>
693c689
<   <peak_power>18.509395914857</peak_power>
---
>   <peak_power>18.509393692017</peak_power>
710c706
<   <peak_power>18.183393500374</peak_power>
---
>   <peak_power>18.183385848999</peak_power>

ID: 1374454 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1374457 - Posted: 31 May 2013, 18:06:38 UTC - in response to Message 1374454.  

Looks good so far; it took 17 minutes to run. The standard WU is still running but I get this at the head of a diff:


Six significant digits match well below threshold seems about right for the processing chain (I'm guessing spikes). If you're happy to run live a little & see if there are autocorrelations active & matching (or not) that'd be great.

"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1374457 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1374485 - Posted: 31 May 2013, 19:09:46 UTC - in response to Message 1374457.  

Looks good so far; it took 17 minutes to run. The standard WU is still running but I get this at the head of a diff:


Six significant digits match well below threshold seems about right for the processing chain (I'm guessing spikes). If you're happy to run live a little & see if there are autocorrelations active & matching (or not) that'd be great.

I'll see if I can work out an app_info.xml file. I've set up a cron job to copy the ongoing standard result.sah to /tmp every minute so hopefully I can catch the completed file before it gets reported and deleted. So far it's taken over 5-1/2 hours to do what the C1060 did in 17 minutes.

ID: 1374485 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1374486 - Posted: 31 May 2013, 19:16:09 UTC - in response to Message 1374485.  
Last modified: 31 May 2013, 19:16:31 UTC

Looks good so far; it took 17 minutes to run. The standard WU is still running but I get this at the head of a diff:


Six significant digits match well below threshold seems about right for the processing chain (I'm guessing spikes). If you're happy to run live a little & see if there are autocorrelations active & matching (or not) that'd be great.

I'll see if I can work out an app_info.xml file. I've set up a cron job to copy the ongoing standard result.sah to /tmp every minute so hopefully I can catch the completed file before it gets reported and deleted. So far it's taken over 5-1/2 hours to do what the C1060 did in 17 minutes.


Yeah those peskie astronomers have a way of looking at things, which throws the whole shortie and drift scan thing out the Window. Hopefully over summer they'll be perving at Fort Lauderdale.
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1374486 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1374504 - Posted: 31 May 2013, 19:41:01 UTC

OK, I've started a new thread because the existing one is piggy-backing onto another thread about BOINC V7. So, here are the basics of what I did to get s@h V7 compiled on a Linux server. Note that the server has CUDA libraries and SDK installed, as well as an appropriate driver; I'm not about to go into details on how to set that up...

$ svn checkout https://setisvn.ssl.berkeley.edu/svn/branches/sah_v7_opt/Xbranch
$ cd Xbranch/
$ chmod +x _autosetup
$ ./_autosetup
$ ./configure --disable-server BOINCDIR=/home/eesridr/boinc_core_release_7_0_31/ \
--enable-sse3 CFLAGS='-O3 -march=nocona -mtune=nocona -mpreferred-stack-boundary=8 \
-fexceptions -fno-rounding-math -fno-signaling-nans -fcx-limited-range -fno-math-errno \
-ffinite-math-only -fno-trapping-math --param inline-unit-growth=3000 -DNDEBUG \
-DHAVE_STRCASECMP -fpeel-loops -funroll-loops -fgcse-sm -fgcse-las -fweb \
-I/usr/local/cuda/include'
$ make -j 8


Obviously the locations of the BOINC and CUDA include directories will need to be changed to reflect your personal set-up. Note too the remarks in the earlier thread about getting an appropriate version of BOINC to link against.

If you're interested in following the saga over the next few days, I'm experimenting on this machine.

ID: 1374504 · Report as offensive
Urs Echternacht
Volunteer tester
Avatar

Send message
Joined: 15 May 99
Posts: 692
Credit: 135,197,781
RAC: 211
Germany
Message 1374524 - Posted: 31 May 2013, 20:37:53 UTC
Last modified: 31 May 2013, 20:38:16 UTC

Sadly your choice of BOINC libs is not so lucky, because 7.0.31 does not support the app_config mechanism, which would allow the use of multiple instances on one GPU without using anonymous platform. Your first try with 7.0.65 would have been better.

"boinc_ops_cumulative" function is not in use anymore it can be replaced with some newer function "fraction_done(progress,remaining)" Eventually you'll need to update remaining just before the function call.
_\|/_
U r s
ID: 1374524 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1374536 - Posted: 31 May 2013, 21:11:22 UTC - in response to Message 1374504.  

Oh, well, I'm giving up for the night. My first attempt at an app_info.xml failed miserably so it's back to standard for now.

ID: 1374536 · Report as offensive
Profile Khangollo
Avatar

Send message
Joined: 1 Aug 00
Posts: 245
Credit: 36,410,524
RAC: 0
Slovenia
Message 1374575 - Posted: 31 May 2013, 23:28:35 UTC

Try this:

<app_info>
  <app>
    <name>setiathome_v7</name>
  </app>
  <file_info>
    <name>setiathome_x41_x86_64-pc-linux-gnu_cuda42</name>
    <executable/>
  </file_info>
  <file_info>
    <name>libcudart.so.4</name>
    <executable/>
  </file_info>
  <file_info>
    <name>libcufft.so.4</name>
    <executable/>
  </file_info>
  <app_version>
    <app_name>setiathome_v7</app_name>
    <version_num>700</version_num>
    <plan_class>cuda42</plan_class>
    <avg_ncpus>0.01</avg_ncpus>
    <max_ncpus>0.01</max_ncpus>
    <coproc>
      <type>CUDA</type>
      <count>0.333333</count>
    </coproc>
    <file_ref>
      <file_name>setiathome_x41_x86_64-pc-linux-gnu_cuda42</file_name>
      <main_program/>
    </file_ref>
    <file_ref>
      <file_name>libcudart.so.4</file_name>
    </file_ref>
    <file_ref>
      <file_name>libcufft.so.4</file_name>
    </file_ref>
  </app_version>
</app_info>


This is for CUDA 4.2, 3 instances per GPU. For 5.0, the plan class is cuda50 (and libraries .so.5, of course). Also, you can change the count to 1.0 for 1 instance per GPU
ID: 1374575 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1374590 - Posted: 1 Jun 2013, 0:37:26 UTC - in response to Message 1374575.  

Thanks, mate, I'll give that a go in the morning. Currently just finished today's Guardian Prize Crossword and still awaiting iPlayer to give tonight's Have I Got News For You. Two fingers left in the Scotch bottle, so bedtime soon...
ID: 1374590 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1374832 - Posted: 1 Jun 2013, 16:23:00 UTC - in response to Message 1374590.  

No, still trashing work-units. Can anyone spot my mistake(s)?
<app_info>
  <app>
    <name>setiathome_v7</name>
  </app>
  <file_info>
    <name>setiathome_7.01_i686-pc-linux-gnu</name>
    <executable/>
  </file_info>
  <app_version>
    <app_name>setiathome_v7</app_name>
    <version_num>701</version_num>
    <file_ref>
      <file_name>setiathome_7.01_i686-pc-linux-gnu</file_name>
      <main_program/>
    </file_ref>
  </app_version>

  <file_info>
     <name>setiathome_x41_x86_64-pc-linux-gnu_cuda41</name>
     <executable/>
   </file_info>
   <app_version>
     <app_name>setiathome_v7</app_name>
     <version_num>701</version_num>
     <platform>x86_64-pc-linux-gnu</platform>
     <plan_class>cuda42</plan_class>
     <avg_ncpus>0.05</avg_ncpus>
     <max_ncpus>1.0</max_ncpus>
     <coproc>
        <type>CUDA</type>
        <count>1.0</count>
     </coproc>
     <file_ref>
        <file_name>setiathome_x41_x86_64-pc-linux-gnu_cuda41</file_name>
        <main_program/>
     </file_ref>
   </app_version>

    <app>
        <name>astropulse_v6</name>
    </app>
    <app_version>
        <app_name>astropulse_v6</app_name>
        <version_num>601</version_num>
        <file_ref>
            <file_name>astropulse_6.01_i686-pc-linux-gnu</file_name>
            <main_program/>
        </file_ref>
    </app_version>    
    <app_version>
        <app_name>astropulse_v6</app_name>
        <version_num>603</version_num>
        <file_ref>
            <file_name>astropulse_6.03_x86_64-pc-linux-gnu</file_name>
            <main_program/>
        </file_ref>
    </app_version>    

</app_info>

ID: 1374832 · Report as offensive
Claggy
Volunteer tester

Send message
Joined: 5 Jul 99
Posts: 4654
Credit: 47,537,079
RAC: 4
United Kingdom
Message 1374840 - Posted: 1 Jun 2013, 16:31:46 UTC - in response to Message 1374832.  
Last modified: 1 Jun 2013, 16:37:11 UTC

Don't think it's anything to do with your app_info, the app does start:

<core_client_version>7.0.65</core_client_version>
<![CDATA[
<message>
process got signal 11
</message>
<stderr_txt>
setiathome_CUDA: Found 2 CUDA device(s):
Device 1: Tesla C1060, 4095 MiB, regsPerBlock 16384
computeCap 1.3, multiProcs 30
pciBusID = 2, pciSlotID = 0
clockRate = 1296 MHz
Device 2: GeForce GTX 460, 767 MiB, regsPerBlock 32768
computeCap 2.1, multiProcs 7
pciBusID = 3, pciSlotID = 0
clockRate = 1350 MHz
In cudaAcc_initializeDevice(): Boinc passed DevPref 2
setiathome_CUDA: CUDA Device 2 specified, checking...
Device 2: GeForce GTX 460 is okay

</stderr_txt>
]]>


or

<core_client_version>7.0.65</core_client_version>
<![CDATA[
<message>
process got signal 11
</message>
<stderr_txt>
setiathome_CUDA: Found 2 CUDA device(s):
Device 1: Tesla C1060, 4095 MiB, regsPerBlock 16384
computeCap 1.3, multiProcs 30
pciBusID = 2, pciSlotID = 0
clockRate = 1296 MHz
Device 2: GeForce GTX 460, 767 MiB, regsPerBlock 32768
computeCap 2.1, multiProcs 7
pciBusID = 3, pciSlotID = 0
clockRate = 1350 MHz
In cudaAcc_initializeDevice(): Boinc passed DevPref 1
setiathome_CUDA: CUDA Device 1 specified, checking...
Device 1: Tesla C1060 is okay

</stderr_txt>
]]>


But there is no mention of the cudart or cufft files in your app_info, so no links in your slot directories when the app starts.

Claggy
ID: 1374840 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1374860 - Posted: 1 Jun 2013, 16:57:16 UTC - in response to Message 1374840.  

Don't think it's anything to do with your app_info, the app does start:

But there is no mention of the cudart or cufft files in your app_info, so no links in your slot directories when the app starts.

Claggy

But is that necessary when they are available in the standard system locations?
My working V6 app_info had, inter alia:
        <app_version>
                <app_name>setiathome_enhanced</app_name>
                <version_num>611</version_num>
                <platform>x86_64-pc-linux-gnu</platform>
                <plan_class>cuda_fermi</plan_class>
                <avg_ncpus>0.05</avg_ncpus>
                <max_ncpus>1.0</max_ncpus>
                <coproc>
                        <type>CUDA</type>
                        <count>1.0</count>
                </coproc>
                <file_ref>
                        <file_name>setiathome_x41_x86_64-pc-linux-gnu_cuda41</file_name>
                        <main_program/>
                </file_ref>
        </app_version>

ID: 1374860 · Report as offensive
Claggy
Volunteer tester

Send message
Joined: 5 Jul 99
Posts: 4654
Credit: 47,537,079
RAC: 4
United Kingdom
Message 1374862 - Posted: 1 Jun 2013, 17:01:41 UTC - in response to Message 1374860.  

Does the app run O.K when run offline in a Bench?

Claggy
ID: 1374862 · Report as offensive
1 · 2 · 3 · 4 · Next

Message boards : Number crunching : Porting s@h V7 to Linux


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.