Seti@Home optimized science apps and information

Optimized Seti@Home apps => Linux => Topic started by: Simon on 25 Jun 2006, 06:49:33 pm

Title: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 25 Jun 2006, 06:49:33 pm
Hi everyone,

a lot of people have been waiting for the first one to step forward and offer new optimized clients for PCs. So I'm going to take that leap and do it in the hope that many others may follow.

This client has been compiled using Intel's excellent compiler and library package (Links in the Links (http://lunatics.at/index.php?module=Links) section, also in the How-To (http://lunatics.at/index.php?op=Articles;article=2)). It's version 5.15 and based on Eric Korpela's source tarballs (http://setiathome.berkeley.edu/~korpela/build/i686-linux/).

It has been tested on a lot of different hardware - various Pentium 4, Pentium-D, Pentium-M as well as Athlon64-based machines. The results it produces have validated 100% in all tests.

Still, if you decide to use this client, it's at your own risk. Despite all testing that has gone into making sure it performs valid science and does so quickly, something might go wrong. YMMV.

That said, here's the download link:

Linux SSE2-optimized Seti@Home client

Please post whether it worked for you or not!
You will have to register before you can post.

Installation is very simple - when you unpack the archive, it will put all its files into a directory called something like "setiathome-5.15-sse2". Copy the contents of that folder (all files inside it, not the directory!) into BOINC/projects/setiathome.berkeley.edu. Then simply restart (stop and start) your BOINC client, it should recognize the app_info.xml and resume all your WUs for you.

Regards,
Simon
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: pgy on 25 Jun 2006, 08:47:03 pm
Hi Simon,

Congratulations on getting this far. Sadly, I can't use it. Any chance of sorting out plain SSE for Linux?

Best wishes,
pete
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 25 Jun 2006, 08:51:19 pm
All I can say is, some more patience required ;D

Have to test things before I release, and my SSE builds don't seem to work everywhere. I'm sure I'll fix it and offer MMX/SSE as well.

Regards,
Simon.
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 26 Jun 2006, 10:12:42 am
There was a slight problem with the first client - it did not run on all machines.
A new version that should now really work everywhere has been posted (the URL is still the same).

If it worked for you before, no need to get v2. If it didn't, please download the new package ;D

Regards,
Simon.
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 26 Jun 2006, 11:33:00 am
Due to continued error reports, I've put a non-UPX compressed version online in the Downloads section -

Uncompressed Linux SSE2-optimized Seti@Home client (http://lunatics.at/index.php?module=Downloads;sa=download;id=3;mirror=1)

This is a direct download link.

Regards,
Simon
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: s52d on 26 Jun 2006, 11:44:58 am
Hello!

Forum: black on black and very thin white lines,  but I managed to register.

Huh, uncompressed works on P4 no sse3 box, as previously reported.
Thanks a lot!
Maybe I overlooked some option in kernel?

Then laptop: segfault again.

cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 9
model name      : Intel(R) Celeron(R) M processor         1500MHz
stepping        : 5
cpu MHz         : 1498.751
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe
bogomips        : 2988.44


BR
Iztok
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 26 Jun 2006, 11:52:45 am
Hm, that's interesting.
What browser are you using again? All flavours of FireFox work fine (and do respect the CSS - all fonts are light so you can read them..).

Hans Dorn tested this executable on a Pentium-M system and they worked fine for him - also, these work fine on my Athlon64 SSE2 system as well, so I don't really know.

As to you forgetting something in your kernel, not sure - shouldn't depend on anything external since it's a static binary anyway.

I don't have a test system with a P-M here so it's kind of hard to see what's what, but I'll try and see what I can do.

Regards,
Simon
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: s52d on 26 Jun 2006, 12:08:38 pm
Hi!

Xeon: works on new, fails on old. (/proc/cpuinfo on seti forums).
Maybe... Failed boxes run 2.4 kernels, OK run 2.6.

BR
iztok

one more pentium-M (Celeron before)
tar -xzvf ../setiathome-5.15-sse2-v2-uncompressed.tar.gz 
setiathome-5.15-sse2/
setiathome-5.15-sse2/app_info.xml
setiathome-5.15-sse2/setiathome-5.15-sse2
setiathome-5.15-sse2/setiathome-5.15-sse2-AUTHORS
setiathome-5.15-sse2/setiathome-5.15-sse2-COPYING
setiathome-5.15-sse2/setiathome-5.15-sse2-COPYRIGHT
setiathome-5.15-sse2/setiathome-5.15-sse2-EXTRA_NOTE
setiathome-5.15-sse2/setiathome-5.15-sse2-README
setiathome-5.15-sse2/setiathome-5.15-sse2-README_APP
iztok@mlincek:~/ulov$ cd setiathome-5.15-sse2/
iztok@mlincek:~/ulov/setiathome-5.15-sse2$ ./setiathome-5.15-sse2
Segmentation fault

iztok@mlincek:~/ulov/setiathome-5.15-sse2$ file ./setiathome-5.15-sse2
./setiathome-5.15-sse2: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped

iztok@mlincek:~/ulov/setiathome-5.15-sse2$ ldd ./setiathome-5.15-sse2
        not a dynamic executable

iztok@mlincek:~/ulov/setiathome-5.15-sse2$ uname -a
Linux mlincek 2.4.29 #2 Tue Feb 1 18:23:03 CET 2005 i686 unknown unknown GNU/Linux

iztok@mlincek:~/ulov/setiathome-5.15-sse2$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 13
model name      : Intel(R) Pentium(R) M processor 1.80GHz
stepping        : 6
cpu MHz         : 1796.547
cache size      : 64 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx
                  fxsr sse sse2 ss tm pbe tm2 est
bogomips        : 3578.26


forum: ah, firefox 1.0.1, big CRT, bad eyes on my side.  Very thin white lines, do not bother.

--edited for better readability, this post and next (Simon)
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 26 Jun 2006, 12:16:42 pm
Ah, that could be.

All my compilation and test boxes use 2.6 as kernel version.
I will experiment with compiling on 2.4 to see if that will make it more compatible or whether performance changes.

Regards,
Simon.
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 26 Jun 2006, 01:38:23 pm
I've recompiled the clients on Linux 2.4.

I installed a 2.4 kernel and booted it, then tried to execute my binaries - it gave me a memory access error. So I made new ones under 2.4 and tested them there and under 2.6. The speed is the same, the results are okay, but the 2.4 works on 2.4 AND 2.6. So I'm switching the downloads to the 2.4-made binaries, which should now finally work for everyone (I can hope, anyway ;D).

The download links (http://lunatics.at/index.php?module=Downloads;catd=1) have been updated, the URLs are the same.

Regards,
Simon.
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: s52d on 26 Jun 2006, 02:28:53 pm
Thanks!

Very good news first:
343217099   82218989   17 Jun 2006 11:59:38 UTC   26 Jun 2006 12:57:49 UTC   Over   Success   Done   10,045.96   58.92   58.92
343217064   82218967   17 Jun 2006 11:59:38 UTC   23 Jun 2006 11:13:17 UTC   Over   Success   Done   23,267.57   58.87   58.87


(different AR, but impresive anyhow!)

And, normal good news:

works on celeron M (laptop) with 2.4 kernel.
While /usr/bin/file complains on header, it runs fine (2.4-upx). Cool, no need for uncompressed.
works on old Xeon, works on real Pentium-M laptop.

In fact, works on all my linux boxes with sse2, intel/amd CPUs.

Thanks for fast response, time for beer!

73 Iztok


Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 26 Jun 2006, 03:10:34 pm
Woo hoo ;D

Now if I can only figure out why my SSE builds only work on some Intel chips and not anywhere else...time to install the dev tools on yet another host.

Oh, and I was watching whether anyone reported problems 8) So apart from some small compatibility issues that seem ironed out, it seems it's all good now. Phew!

Regards,
Simon.
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: JavaPersona on 29 Jun 2006, 03:20:13 pm
Simon,

Ni! Ni! Ni!

As a fellow KWSN and avid cruncher I congratulate you on the Linux app!  I am using it on 3 Linux hosts, using 2.6 kernels on FC4.  They are 2 P4 2.8 (HT'd) and a dual Xeon 3.06 (not HT'd).  All tasks have successfully completed and validated.

I may look into compiling my own Windows version; I really appreciate the instructions for that.  Thank you very much for your efforts.  Good Luck in the future!  :)

JavaPersona
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Metod, S56RKO on 30 Jun 2006, 06:02:24 am
Now if I can only figure out why my SSE builds only work on some Intel chips and not anywhere else...time to install the dev tools on yet another host.

If I remember right from the days I did my optimized seti (the old one) binary using ICC, there can be some older chips that don't take well binary compiled using too many -ax branches. They crashed miserably on my P3 Tualatin. The solution was to compile binary specifficaly for that using -xK ...

BR,
  Metod
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: s52d on 30 Jun 2006, 12:40:07 pm
How about SSE3?

I looked at some fastest boxes on seti, and most of them (linux) are using
SSE3 Crunchr3 version.

Maybe it is worth trying?

BR 73
Iztok
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 30 Jun 2006, 01:41:37 pm
Since I now have an SSE3 box to test on, I'm going to test some more on it, but have not found *any* performance difference between SSE2 and 3. So, for maximum compatibility, and since everything else is just not tested enough, I went with SSE2.

It'll take a bit more time, but SSE and SSE3 and MMX are definitely in the works.

HTH,
Simon.
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 30 Jun 2006, 06:42:27 pm
Now if I can only figure out why my SSE builds only work on some Intel chips and not anywhere else...time to install the dev tools on yet another host.

If I remember right from the days I did my optimized seti (the old one) binary using ICC, there can be some older chips that don't take well binary compiled using too many -ax branches. They crashed miserably on my P3 Tualatin. The solution was to compile binary specifficaly for that using -xK ...

BR,
  Metod
Thanks Metod :)

All my build scripts use -xW -xK -xP etc. I've found that compiling with -axK etc. leads to around 1-3% slower times and does not really do that much for compatibility anyway. I'd rather build an extra specialized client than lose performance, but that's just me.

I could also use -xK -axK which actually does different things than just -axK, but I haven't tried that yet.

My newest SSE build runs fine on an AMD Duron 1.2GHz, so things are looking good in that regard. It's not as much faster than the default as my SSE2 builds, but I'll put that down to my Duron having only 64k cache (normal P3s have 256+64, AFAIK).

It is, however, faster than Crunch3r's SSE build on my Duron, so that's in line with my previous Linux builds ;D

Regards,
Simon.
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Metod, S56RKO on 01 Jul 2006, 07:09:42 am
My newest SSE build runs fine on an AMD Duron 1.2GHz, so things are looking good in that regard. It's not as much faster than the default as my SSE2 builds, but I'll put that down to my Duron having only 64k cache (normal P3s have 256+64, AFAIK).

It is, however, faster than Crunch3r's SSE build on my Duron, so that's in line with my previous Linux builds ;D

If you need a beta-tester ... I'd love to run your SSE-only binaries on my dual P3 Coppermine and P3 Tualatin.
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 01 Jul 2006, 07:23:13 am
Okay Metod - you've been bumped :)

You should see a new forum and downloads section now.

Regards,
Simon.
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Dirk Sadowski on 19 Aug 2006, 01:02:19 pm
Hello Simon,

now I use a Boinc- client 64 Bit and your 32 Bit SSE2 for LINUX- 64 Bit... :)

Why you didnīt told me, that your LINUX SSE2 app is faster than Crunch3rs Windows SSE2 (On AMD K8) ? ;)
Because I saw an other AMD K8 3200+, he use your app... and I looked to the performance on our PCs... :)

Thanks a lot again for your good work! (http://www.SmilieCenter.de/smilies/Applaus) (http://www.SmilieCenter.de)


I have a small question:

...again... ;)

Is there a command like in the Windows Version:

"report all finished WUs, get the current statistics, and get maybe new work"

(http://www.SmilieCenter.de/smilies/Verwirrt) (http://www.SmilieCenter.de)

So all finished WUs will be reported and I can shut down my PC...


Greetings!


BTW. Whatīs the different between your uncompressed and UPX- compressed apps?
You know, Iīm a very new LINUX user... ;)
There are no different performance?
Only the installation is an other way, or?
Maybe like with uncompressed and WINZIP- compressed in Windows?


--------------------------------------------------
Update infos from your side:
Along with the automatic test and installer package, I've updated the downloads to Release 1.3 of the science applications. Windows.
This update is a cosmetic fix - it inserts information about the true CPU speed into the stderr section of each result.
--------------------------------------------------
 Can you insert this feature for the LINUX apps too?

BTW #2: ;)
Because you told me, that I can start the Boinc- client in the console:
./boinc -return_results_immediately
But this doesnīt work... :(
The uploaded WUs will not be reported immediately...

Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: BenHer on 19 Aug 2006, 01:15:54 pm
Hi Dirk,

Suggest you
1. go to  www.cpuid.com/cpuz (http://www.cpuid.com/cpuz)
2. run a windoze on one of the partitions of your system (Im assumuing you've got one)
3. record your cpu setting information with cpuz
4. post the information (anonymously) to the web and post a link for your systems internal CPU and RAM info.
5. Change your signature(s) to include the link

Like this my Athlon 64 3800 X2 (http://valid.x86-secret.com/show_oc?id=107985)
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 19 Aug 2006, 01:29:21 pm
Well, I always thought it didn't work (-return_results_immediately), but it's still in the help message. Anyway :)

I'm working on new Linux apps, should be released this week-end (maybe a first 64-bit test build if I can manage to get it compiled). These will have the real CPU speed in MHz in the stderr output, too, of course.

On 64-bit Linux, Crunch3r's 64-bit app is quickest still - but not available ;) - after that all other current optimized 32 bit apps.

The easiest way to do what you want to do from the console is to use boinc_curses by Jan Hornyak (Home page (http://www.oook.cz/bsd/boinc_curses/)) - I have attached a compiled version for you to this post, since it's not that easy to get it compiled yourself.

Unpack boinc_man.tar.gz and run boinc_manager like so:
Code: [Select]
tar xfz boinc_man.tar.gz
./boinc_manager

You can press "h" and will get a help screen. It works very nicely.

As for UPX-compression, I will not do that for future releases - it's really just a cosmetic thing. If you don't have 7 megs available on your disk, then you don't, but most people do, so making it 2.5 megs instead is just not sensible since it creates problems on some Linux distributions. UPX works on Windows, too - all it does is compress an executable so it takes less space on disk and transparently uncompress it into memory only when it gets executed. Since the performance penalty for startup (under 1 sec, definitely) is negligible for the total run time of a WU in S@H's case, it is effectively just as quick as the non-UPX version.

HTH,
Simon.

[attachment deleted by admin]
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Dirk Sadowski on 19 Aug 2006, 03:48:43 pm
Hello Simon,

many thanks for your support! :)

When I would like to run "boinc_manager" I can/ must do this in KDE or I can do it in console- mode too?
Because the picture at the homepage "http://www.oook.cz/bsd/boinc_curses" is like a window in KDE...

I will test it later or tomorrow.


Greetings!


...when can I download the LINUX- 64 Bit SSE2 app? ;)

Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 19 Aug 2006, 03:49:51 pm
He just ran it in an X-Windows console ;)

It is a program meant to be run in text mode (i.e. no KDE). the ncurses library enables all sorts of menu-driven text-mode apps, YaST too ;)

Regards,
Simon.
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Dirk Sadowski on 19 Aug 2006, 03:52:59 pm
Hi Dirk,
Suggest you
1. go to  www.cpuid.com/cpuz (http://www.cpuid.com/cpuz)
2. run a windoze on one of the partitions of your system (Im assumuing you've got one)
3. record your cpu setting information with cpuz
4. post the information (anonymously) to the web and post a link for your systems internal CPU and RAM info.
5. Change your signature(s) to include the link
Like this my Athlon 64 3800 X2 (http://valid.x86-secret.com/show_oc?id=107985)


Hello!

Thanks for suggestion!  :)

Maybe I will do it!  :)

Greetings!

Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 19 Aug 2006, 03:56:59 pm
Rom Walton is working on better CPU detection for Linux and Windows, AFAIK.

Not sure how far he got in doing it, in any case, I found a small asm library that does it all nicely (and is easily extensible and GPL'd). I may release (no promises) a BOINC client as well (however, not optimized for benchmarks!) that has some extra features from trux' sources (CPU affinity etc.) as well as better CPU detection.

It ain't rocket science ;) Still, until those code changes make it into the stock BOINC client, it will be a manual fix to get your CPU info to look like BenHer's.

Regards,
Simon.
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Dirk Sadowski on 19 Aug 2006, 04:00:40 pm
He just ran it in an X-Windows console ;)

It is a program meant to be run in text mode (i.e. no KDE). the ncurses library enables all sorts of menu-driven text-mode apps, YaST too ;)

Regards,
Simon.



...O.K., then I will test it!  :)

Thanks a lot!

...and of course, I will tell  you my experiences... ;)

Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Dirk Sadowski on 19 Aug 2006, 04:04:00 pm
Rom Walton is working on better CPU detection for Linux and Windows, AFAIK.

Not sure how far he got in doing it, in any case, I found a small asm library that does it all nicely (and is easily extensible and GPL'd). I may release (no promises) a BOINC client as well (however, not optimized for benchmarks!) that has some extra features from trux' sources (CPU affinity etc.) as well as better CPU detection.

It ain't rocket science ;) Still, until those code changes make it into the stock BOINC client, it will be a manual fix to get your CPU info to look like BenHer's.

Regards,
Simon.


This will be nice... (http://www.SmilieCenter.de/smilies/Applaus) (http://www.SmilieCenter.de)
...you will make it like this, that the results will be reportet immediately (return_results_immediately), like in Trux Boinc V5.3.12.x36...?
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Simon on 19 Aug 2006, 04:07:23 pm
Like I said, no promises.

It is a feature that is often requested (even though it really just makes the load on the main servers higher, which is why it was disabled in the first place). I count it among the less useful ones, but who knows :)

Regards,
Simon.
Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: Dirk Sadowski on 20 Aug 2006, 08:25:14 am
Hello Simon!

Thanks a lot for your time and support!

O.K., now I have few problems, again... ;)

When I start BOINC:
./run_client

Then I have following messages, too:

2006-08-20 13:52:54 [---] get_local_network_info(): gethostbyname failed

So the problem is, maybe I had not wrote any hostname in/after the installation from LINUX.
(...when you install Windows, you must give/write a hostname...)
So I must do this now in LINUX too?

Because when I would like to start the new program, with:
./boinc_manager

I get this messages:
gethostbyname: Success
ERROR: can't connect to boinc-client (can't resolve hostname)


Why I cannot start the new program? :(


Greetings!


BTW.
Iīm little bit confused too...
Because under LINUX you can not let run BOINC like under Windows?
You donīt have the same Window with the options?
Or you can let run it under Xwindows under LINUX, then you have the same screen like under Windows?

BTW #2.
I wanted to download the program (boinc_manager) the first time without "login" and then at the login- screen I quit the work...
And then I started from home/ login to start the downlod...
I say this, because to inform you, that I was it who downloaded it 2 times... ;)
...because at the link to download, there is (downloaded: 2 times (now)) :)

Title: Re: Initial public release - SSE2 Linux optimized Seti@Home client (5.15)
Post by: rgathright on 06 Sep 2006, 10:41:05 am
I have the linux sse2 client running perfectly on my new install of Fedora 5 64bit. 

Thanks for all your efforts!   ;D