HOW-TO: make your own optimized Linux Seti@Home app!

Message boards : Number crunching : HOW-TO: make your own optimized Linux Seti@Home app!
Message board moderation

To post messages, you must log in.

Previous · 1 · 2 · 3 · 4 · Next

AuthorMessage
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 346826 - Posted: 23 Jun 2006, 20:23:29 UTC
Last modified: 23 Jun 2006, 20:24:20 UTC

Good info :o)
Yeah, I based it on Debian, purely since I wrote it in one go (about 6 or so hours) and didn't want to even consider expanding it to other flavours (yet).

Actually, you'll just have to edit your LD_LIBRARY_PATH and INCLUDE and PATH variables. Check out the iccvars.sh script in /opt/intel/cc/9.0/bin, you'll see what I mean.

Regards,
Simon.
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 346826 · Report as offensive
Profile spacemeat
Avatar

Send message
Joined: 4 Oct 99
Posts: 239
Credit: 8,425,288
RAC: 0
United States
Message 346852 - Posted: 23 Jun 2006, 20:46:55 UTC
Last modified: 23 Jun 2006, 20:49:41 UTC

I figured something like that. Crunch3r's seti-classic code had a bunch of library flag options that needed manual callouts as well.

I know both harold naparst and Crunch3r used gentoo to do their development, so for other gentooers, an ICC install guide is here:
http://gentoo-wiki.com/HOWTO_ICC_and_Portage#Installation
Just change the ICC version from 9.0.021 to 9.0.030 where necessary. When done, you don't need to log out if you run:
# source /etc/profile
ID: 346852 · Report as offensive
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 346853 - Posted: 23 Jun 2006, 20:51:44 UTC

Thanks for contributing!

Anyone else who feels info about their favourite distro should be included please feel free to share it :o)

Regards,
Simon.
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 346853 · Report as offensive
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 347290 - Posted: 24 Jun 2006, 5:08:49 UTC

After messing with the CVS 5.17 code for a while, I'm giving up on it for the time being - it just won't compile for me on Windows or Linux right now.

Being a patient fellow, I'll just wait til it does :o) Instead, right now the next goal is a nice benchmark run with default vs. Crunch3r vs. my clients on Windows and Linux, 32 bit only for now. 64 bit results to come later.

Also, I'm almost done setting up the portal (it's running, but needs more content yet) - that'll be online tomorrow, most probably.

So you'll have yet another forum to post in ;D

Regards,
Simon.
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 347290 · Report as offensive
Tetsuji Maverick Rai
Volunteer tester
Avatar

Send message
Joined: 25 Apr 99
Posts: 518
Credit: 90,863
RAC: 0
Japan
Message 347408 - Posted: 24 Jun 2006, 8:45:04 UTC
Last modified: 24 Jun 2006, 8:46:36 UTC

Out of curiosity I built cvs 5.17 and found it generated a wrong result. It's still under development, especially in new "transpose PoT" optimization. So I sent email to Eric just in case he hasn't noticed yet :)

It's still too early to try it.

regards,

-Tetsuji
Luckiest in the world. WMD = Weapon of Mass Distraction.
Click this table.
ID: 347408 · Report as offensive
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 347659 - Posted: 24 Jun 2006, 15:55:52 UTC
Last modified: 24 Jun 2006, 15:57:15 UTC

Hi,
since a lot of people have pointed out that Crunch3rs optimized clients have the graphics disabled because this improves speed - I can only confirm that's true.

The scripts I included with the tarball take care of disabling graphics for you, so you don't really need to do anything if you use them.

However, should you want to know how to do it, it's a configure switch. --disable-graphics on Linux, or NBOINC_APP_GRAPHICS in Preprocessor options on Windows (or just delete the BOINC_APP_GRAPHICS that's there, or undef it in win_config.h...etc. - your pick.).

I'm compiling a default Windows client with just graphics disabled to see what sort of performance difference there is to be had.

IMO, the graphics window should not always be drawn as it is currently with the default client. I don't know how difficult it would be to just make it draw if running as a screen saver or specifically calling up the graphics in the BOINC client (maybe a configurable value in the manager? checkbox for "Draw Graphics" or something).

Anyway, something to keep in mind. I'll release data on my test runs as soon as they finish (Windows/Linux 32 bit default vs. crunch3r vs. my builds vs. default with graphics disabled).

Regards,
Simon.
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 347659 · Report as offensive
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 347808 - Posted: 24 Jun 2006, 20:48:52 UTC

Hi,

I just posted a first round of benchmarks.

I'll try and do as many different ARs as my patience will allow. Even with shortened WUs it does take at least 1-4 hours per run (including a few reboots and putting together stats).

More results will be posted as they come in.

Also planned for tonight or tomorrow is an initial public release of an SSE2-compatible Linux cruncher, most likely. Look for it in the announcements thread.

Regards,
Simon.
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 347808 · Report as offensive
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 347984 - Posted: 25 Jun 2006, 0:35:13 UTC
Last modified: 25 Jun 2006, 0:35:32 UTC

Updated that thread with two more results.

So far, my apps are at least as quick as Crunch3rs during testing, and scale differently on Windows and Linux.

Check those first three results out, I'll try and do differing ARs as I get to it.

Regards,
Simon.
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 347984 · Report as offensive
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 348665 - Posted: 25 Jun 2006, 23:55:03 UTC

Linux SSE2-optimized Seti@Home client - Initial public release


You've been waiting for this, I'm sure. Head on over to my new optimized clients and information portal.

For the impatient, here's a direct download link for the client -

Linux SSE2-optimized cruncher

Have fun and please share your results!

Regards,
Simon.
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 348665 · Report as offensive
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 349150 - Posted: 26 Jun 2006, 14:14:47 UTC
Last modified: 26 Jun 2006, 14:17:49 UTC

The downloadable client package has been updated with an executable that should now really run on all SSE2-enabled systems. On my final recompile, it seems I switched some flags around by accident, that's fixed now.

The URL is still the same, but it now downloads a file called "setiathome-5.15-sse2-v2.tar.gz".

The correct URL for sharing your results is
http://www.zadra.org/seti_enhanced/index.php?action=post;topic=4.0
- before it had ;num_replies=0 in the URL, which would give an obscure warning about the number of replies already there.

Regards,
Simon.
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 349150 · Report as offensive
Iztok s52d (and friends)

Send message
Joined: 12 Jan 01
Posts: 136
Credit: 393,469,375
RAC: 116
Slovenia
Message 349177 - Posted: 26 Jun 2006, 14:54:31 UTC - in response to Message 349150.  
Last modified: 26 Jun 2006, 15:09:36 UTC

Hi Simon!

P4 machine, no sse3, as reported previously:

ls -alrt
-rw-r--r-- 1 iztok users 1215 2006-06-25 23:25 app_info.xml
-rwxr-xr-x 1 iztok users 3858037 2006-06-26 16:06 setiathome-5.15-sse2*

iztok@p:~/ulov/setiathome-5.15-sse2$ ./setiathome-5.15-sse2
Segmentation fault
iztok@p:~/ulov/setiathome-5.15-sse2$ file ./setiathome-5.15-sse2
./setiathome-5.15-sse2: ELF 32-bit LSB executable, Intel 80386, version 1, statically linked, corrupted section header size

73, thanks
Iztok

p.s.
Your forum and my old mozilla do not work together: no way to register...

A bit later: sorry, wrong place. No way to delete, still time to appology.
ID: 349177 · Report as offensive
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 349184 - Posted: 26 Jun 2006, 15:15:12 UTC
Last modified: 26 Jun 2006, 15:30:13 UTC

Er, it works fine with FireFox 1.0 :o)

You can mail me at simon <insert stuff here> zadra.org with your username/pass and I'll reg an account for you.

So, I've had reports of something similar from Hans Dorn - it's because this executable is UPX-packed.

Seems not every linux flavour wants to open it correctly, although all of mine (32 as well as 64 bit) do. I'm using Debian, mainly.

I have a couple of Slackware boxes, too, but none of them support SSE2.

So to try and fix this issue, I'll put up another version that's not UPX-packed. See if that one works for you :o)

This link has an uncompressed version (the binary is much larger). When you do file <binary> it will state that it's dynamically linked, but it isn't - I used statifier (http://statifier.sf.net) to make it static. When you use compile flags to make a static binary, it doesn't want to run with the current code (at least for me), so that's why it's not a plain static binary (which would be smaller).

That's the whole reason I used UPX in the first place :o) Just takes a little more space on disk uncompressed, nothing major. There are no performance penalties with UPX (tested), but it seems incompatible with some Linux flavours.

Regards,
Simon
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 349184 · Report as offensive
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 349297 - Posted: 26 Jun 2006, 19:17:51 UTC

Okay,

all compatibility problems now seem fixed, finally. Iztok made me aware it wouldn't run on Linux 2.4 systems, only on 2.6, so I compiled it on a 2.4 kernel and now it works on both.

The links are still the same, they just download new packages.
Performance is also unchanged, just now it really runs everywhere with SSE2 :o)

Regards,
Simon.
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 349297 · Report as offensive
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 350361 - Posted: 27 Jun 2006, 22:00:08 UTC
Last modified: 27 Jun 2006, 22:00:59 UTC

222 downloads of clients and source packages in 2 days - good average people, let's keep it going :o)

Next up is an SSE/MMX version, as soon as I can get it work reliably across AMD/Intel platforms.

I'm going to not direct-download link the next packages that get released - even though there were almost 3000 page views, so far only 9 people have registered - most of them probably don't even see the site because of the direct download link.

So you'll have to click one more time to download stuff, but I hope you can live with that :o)

Regards,
Simon.
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 350361 · Report as offensive
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 351986 - Posted: 29 Jun 2006, 16:12:06 UTC

I've got a preliminary SSE version that runs happily on an AMD Duron with SSE, so I'd assume it runs on a P3 as well. After some testing, I'll let you know what it does and how quick it is.

Regards,
Simon.

P.S. Broke 300 downloads today :o)
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 351986 · Report as offensive
Profile ML1
Volunteer moderator
Volunteer tester

Send message
Joined: 25 Nov 01
Posts: 21688
Credit: 7,508,002
RAC: 20
United Kingdom
Message 351996 - Posted: 29 Jun 2006, 16:33:56 UTC - in response to Message 350361.  

222 downloads of clients and source packages in 2 days - good average people, let's keep it going :o)

Next up is an SSE/MMX version, as soon as I can get it work reliably across AMD/Intel platforms.

I'm going to not direct-download link the next packages that get released - even though there were almost 3000 page views, so far only 9 people have registered - most of them probably don't even see the site because of the direct download link.

So you'll have to click one more time to download stuff, but I hope you can live with that :o)

Great stuff on all counts.

People are naturally lazy but I'm sure they can survive jus one extra finger movement to get there ;-)

It will be very interesting to have a total downloads number so that we can get an idea of really how numerous all us optimised crunchers are. Aside: Have you modified the results file output to identify your optimised cruncher and the compiler flags used?


Again, excellent efforts there!

Regards,
Martin
See new freedom: Mageia Linux
Take a look for yourself: Linux Format
The Future is what We all make IT (GPLv3)
ID: 351996 · Report as offensive
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 352003 - Posted: 29 Jun 2006, 16:51:46 UTC
Last modified: 29 Jun 2006, 16:52:59 UTC

Hi ML1,

yes, I inserted some stuff that shows up in stderr - a sample:
<stderr_txt>
Optimized Linux S@H Enhanced application
Version info: Linux SSE2 (P4/A64) 32-bit V5.15 by KWSN - Chicken of Angnor

Initial RELEASE Version! (+mkl+statfix)
Work Unit Info:

WU true angle range is : 0.608628


Flopcounter: 12573449292544.810547

Spike count: 0
Pulse count: 0
Triplet count: 2
Gaussian count: 0
</stderr_txt>

The compiler flags used are not there, rather, I put an internal (+mkl+statfix) version indicator. That may change in the future.
I'm thinking about inserting a web link to my site into the stderr, as well as the compiler flags. Just an extra line and an expansion of what's in the parentheses right now, anyway.

Oh yeah, and you can check the download stats when you visit my site - there's a block on the right side where site stats are printed for everyone. The line you're looking for is "Files downloaded". This number includes the source packages right now, but I could provide separate numbers for client and source downloads, if I wanted to.

"Pageviews" increment once per full page that is requested, not raw hits (those are around 10x as high).

Regards,
Simon.
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 352003 · Report as offensive
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 353843 - Posted: 1 Jul 2006, 18:40:41 UTC
Last modified: 1 Jul 2006, 18:41:08 UTC

I've just posted an SSE-optimized client package at my site. The downloadable sources package will be updated shortly because there are a few changes necessary to make SSE and MMX work correctly. Also, be advised that for maximum compatibility, you should use Linux 2.4.xx to compile your clients - if you compile on 2.6, 2.4 systems probably will not be able to run your program.

Regards,
Simon.
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 353843 · Report as offensive
Tetsuji Maverick Rai
Volunteer tester
Avatar

Send message
Joined: 25 Apr 99
Posts: 518
Credit: 90,863
RAC: 0
Japan
Message 353847 - Posted: 1 Jul 2006, 18:44:50 UTC
Last modified: 1 Jul 2006, 18:45:42 UTC

Hi Simon,

You can build FreeBSD optimized clients using ICC. Look at /usr/ports/lang/icc nad you'll find icc 8.1 can be installed on FreeBSD to generate "native" FreeBSD binary. So you can build optimized clients for FreeBSD (and actually I've done it some times) quite easily.

Unix-like os's are so fantastic!
Luckiest in the world. WMD = Weapon of Mass Distraction.
Click this table.
ID: 353847 · Report as offensive
Profile KWSN - Chicken of Angnor
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 9 Jul 99
Posts: 1199
Credit: 6,615,780
RAC: 0
Austria
Message 353852 - Posted: 1 Jul 2006, 18:47:30 UTC

Thank you Tetsuji :)

I could try that next after MMX. Seems worthwhile to port! Lots of FreeBSD users around.

Regards,
Simon.
Donate to SETI@Home via PayPal!

Optimized SETI@Home apps + Information
ID: 353852 · Report as offensive
Previous · 1 · 2 · 3 · 4 · Next

Message boards : Number crunching : HOW-TO: make your own optimized Linux Seti@Home app!


 
©2025 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.