Optimized BOINC clients (Version 4.19) for **Linux**

Message boards : Number crunching : Optimized BOINC clients (Version 4.19) for **Linux**
Message board moderation

To post messages, you must log in.

Previous · 1 · 2 · 3

AuthorMessage
Profile doublechaz

Send message
Joined: 17 Nov 00
Posts: 90
Credit: 76,455,865
RAC: 735
United States
Message 75660 - Posted: 31 Jan 2005, 18:45:53 UTC

AthlonRob has things right. 4.19 is totally cool. It's the 4.19 custom versions that we are screwing around with that are not stable. That is our problem and has nothing to do with the boinc people. True it's not a good chip for math, but the ones I have are sitting there and running 24/7. They might as well do something useful with their 99% idle time.

So, I built 4.19 with optimizations on the RH7.3 system and it's working. It didn't like the -ftracer option in such an old compiler. I'll try cross-compile on a newer distro in a bit.

4.19my k6-2 rh7.3
w: 271
d: 436

Compare to ned's 4.13opt
w: 426
d: 774

And stock 4.13
w: 159
d: 395

ID: 75660 · Report as offensive
Profile AthlonRob
Volunteer developer
Avatar

Send message
Joined: 18 May 99
Posts: 378
Credit: 7,041
RAC: 0
United States
Message 75669 - Posted: 1 Feb 2005, 1:27:19 UTC - in response to Message 75657.  

> Looking here, it looks to me like it's the K6-using folk....
> ... but don't judge 4.19's fitness from it.
> Y'know what? You're right. Berkeley should make the "fit-for-running"
> call and clone CPUs hadn't ocurred to me .o0(Weren't K6s opcode-for-opcode
> with i686?)

K6's were i586 compatible... they didn't implement the whole "i686" instruction set PPros and above implemented, but starting with the K6-2, they implemented AMD's 3DNow! instruction set.

Rob
ID: 75669 · Report as offensive
7822531

Send message
Joined: 3 Apr 99
Posts: 820
Credit: 692
RAC: 0
Message 75693 - Posted: 1 Feb 2005, 3:08:10 UTC - in response to Message 75669.  

...and thus the PPC-head's head was filled with knowledge. Thanks again!
ID: 75693 · Report as offensive
Profile doublechaz

Send message
Joined: 17 Nov 00
Posts: 90
Credit: 76,455,865
RAC: 735
United States
Message 75705 - Posted: 1 Feb 2005, 3:46:54 UTC

Also built 4.19 for the K6-2 on the FC1 system. It's gcc 3.3.2.

w: 358
d: 483

The moral of the story is I'm going to use Ned's 4.13 K6 client. It's faster than mine. Must be a bunch of improvments in the optimizer after 3.3.2.

Thanks again for providing these optimized versions. I wish I could actually crunch faster, but I'll certainly settle for requesting all the credit I deserve relative to those windows kids.


ID: 75705 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 75828 - Posted: 1 Feb 2005, 18:21:04 UTC - in response to Message 75705.  

> Also built 4.19 for the K6-2 on the FC1 system. It's gcc 3.3.2.
>
> w: 358
> d: 483
>
> The moral of the story is I'm going to use Ned's 4.13 K6 client. It's faster
> than mine. Must be a bunch of improvments in the optimizer after 3.3.2.
>
> Thanks again for providing these optimized versions. I wish I could actually
> crunch faster, but I'll certainly settle for requesting all the credit I
> deserve relative to those windows kids.
>
>
>

Yes, that's right. There was a big speed improvement when compiling boinc on gcc-3.4 compared to gcc-3.3.

I'm just not sure why some are having trouble with the version 4.19 clients when v4.13 runs fine. I don't think I did anything different which would lead me to believe there's something in the source code that changed. We'll leave this one open for discussion :)

I don't think it's really a question of stability - from my experience the client either runs or it causes an error. Is that what you guys are finding?

Ned


*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 75828 · Report as offensive
Profile doublechaz

Send message
Joined: 17 Nov 00
Posts: 90
Credit: 76,455,865
RAC: 735
United States
Message 75851 - Posted: 1 Feb 2005, 20:44:50 UTC

Yes, it runs or it does not. There is no stability issue.

Since your clients are statically linked, I submit that the OS on which we try to run them does not make a difference.

I think perhaps there are some compiler optimizations in gcc 3.4 that are correct for late steppings or for K6-III, but not for K6 and K6-2, and the source code in the v4.19 exposes this whereas the code in v4.13 does not.

Not very likely perhaps, but how much testing did the gcc guys do against chips that have been obsolete for 4 years? And what other explanation can we give for a very narrow failure with Ned's otherwise very successful work. I'm totally confident in him based on his work that he didn't do something different with one or two clients in all the builds he's done.

So, Ned. Did your gcc 3.4 come with some OS (which?) or did you upgrade to it outside your distro? I'll be upgrading some of my boxen before long, and if they have a decently new gcc 3.4 I'll come back to this and test it some more.
ID: 75851 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 75856 - Posted: 1 Feb 2005, 21:35:56 UTC - in response to Message 75851.  

> Yes, it runs or it does not. There is no stability issue.
>
> Since your clients are statically linked, I submit that the OS on which we try
> to run them does not make a difference.
>
> I think perhaps there are some compiler optimizations in gcc 3.4 that are
> correct for late steppings or for K6-III, but not for K6 and K6-2, and the
> source code in the v4.19 exposes this whereas the code in v4.13 does not.
>
> Not very likely perhaps, but how much testing did the gcc guys do against
> chips that have been obsolete for 4 years? And what other explanation can we
> give for a very narrow failure with Ned's otherwise very successful work. I'm
> totally confident in him based on his work that he didn't do something
> different with one or two clients in all the builds he's done.
>
> So, Ned. Did your gcc 3.4 come with some OS (which?) or did you upgrade to it
> outside your distro? I'll be upgrading some of my boxen before long, and if
> they have a decently new gcc 3.4 I'll come back to this and test it some more.
>

Yes, the purpose of using statically linked builds was for greater compatibility across linux platforms (although dynamically linked binaries are very slightly faster, they run on far fewer distro's - especially older versions - due to incorrect library versions).

I'm using gcc-3.4.2 as standard in Fedora Core 3. No other tweaks applied, and I used the same documented optimization flags as per my guide (in my sig). I compiled all v4.19 clients back to back using the same procedure. This was the same procedure as used for the previous v4.13 clients which were also compiled on the same system with only the released Fedora Core 3 updates being applied since the v4.13 set of clients were compiled.

I'll continue to watch this thread closely and will be happy to try any tweaks if anyone has any suggestions.

Ned


*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 75856 · Report as offensive
Profile AthlonRob
Volunteer developer
Avatar

Send message
Joined: 18 May 99
Posts: 378
Credit: 7,041
RAC: 0
United States
Message 75872 - Posted: 2 Feb 2005, 0:16:42 UTC - in response to Message 75851.  

> Since your clients are statically linked, I submit that the OS on which we try
> to run them does not make a difference.

Not 100% accurate - because the client is doing some DNS resolving, if the Glibc versions don't match, you can run in to some problems.

'tis why I have suggested Berkeley utilize an alternative DNS resolver...

Rob
ID: 75872 · Report as offensive
Profile abject
Avatar

Send message
Joined: 3 Apr 99
Posts: 65
Credit: 857,951
RAC: 0
United States
Message 76900 - Posted: 5 Feb 2005, 21:38:42 UTC

Wow! Thanks!

$ cat /proc/cpuinfo
[...]
model : 8
model name : AMD Athlon(tm) XP 2400+
stepping : 1
cpu MHz : 1991.342
cache size : 256 KB
[...]
bogomips : 3964.92

Before (boinc_4.13_athlon-xp-pc-linux-gnu):
[---] Benchmark results:
[---] Number of CPUs: 1
[---] 1892 double precision MIPS (Whetstone) per CPU
[---] 2632 integer MIPS (Dhrystone) per CPU

After (boinc_4.19_athlon-xp-pc-linux-gnu):
[---] Benchmark results:
[---] Number of CPUs: 1
[---] 2076 double precision MIPS (Whetstone) per CPU
[---] 4115 integer MIPS (Dhrystone) per CPU

ID: 76900 · Report as offensive
Profile Thomas Walther @ PG-TW-Computer
Avatar

Send message
Joined: 28 Jul 99
Posts: 16
Credit: 26,162
RAC: 0
Germany
Message 77663 - Posted: 8 Feb 2005, 23:29:29 UTC - in response to Message 76900.  

is there any Intel Xeon optimized Version?

regards from germany,
Thomas
ID: 77663 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 77676 - Posted: 9 Feb 2005, 0:41:50 UTC - in response to Message 77663.  
Last modified: 9 Feb 2005, 0:45:10 UTC

> is there any Intel Xeon optimized Version?
>
> regards from germany,
> Thomas
>

Hi Thomas,

According to the gcc manual, these are the architectures that can be optimized for (below). I don't see any mention of the Xeon, so basically, I'd recommend picking the architecture that your particular Xeon is baed on (PII, PIII etc). If you're unsure about your procesor architecture, checkout the notes on my download page for advice about finding out more info for your particular CPU. If it's one that's not currently available, then I'll happily do one for you.

------------------------------
i386
Original Intel's i386 CPU.

i486
Intel's i486 CPU. (No scheduling is implemented for this chip.)

i586, pentium
Intel Pentium CPU with no MMX support.

pentium-mmx
Intel PentiumMMX CPU based on Pentium core with MMX instruction set support.

i686, pentiumpro
Intel PentiumPro CPU.

pentium2
Intel Pentium2 CPU based on PentiumPro core with MMX instruction set support.

pentium3, pentium3m
Intel Pentium3 CPU based on PentiumPro core with MMX and SSE instruction set support.

pentium-m
Low power version of Intel Pentium3 CPU with MMX, SSE and SSE2 instruction set support. Used by Centrino notebooks.

pentium4, pentium4m
Intel Pentium4 CPU with MMX, SSE and SSE2 instruction set support.

prescott
Improved version of Intel Pentium4 CPU with MMX, SSE, SSE2 and SSE3 instruction set support.

nocona
Improved version of Intel Pentium4 CPU with 64-bit extensions, MMX, SSE, SSE2 and SSE3 instruction set support.

k6
AMD K6 CPU with MMX instruction set support.

k6-2, k6-3
Improved versions of AMD K6 CPU with MMX and 3dNOW! instruction set support.

athlon, athlon-tbird
AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and SSE prefetch instructions support.

athlon-4, athlon-xp, athlon-mp
Improved AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and full SSE instruction set support.

k8, opteron, athlon64, athlon-fx
AMD K8 core based CPUs with x86-64 instruction set support. (This supersets MMX, SSE, SSE2, 3dNOW!, enhanced 3dNOW! and 64-bit instruction set extensions.)

winchip-c6
IDT Winchip C6 CPU, dealt in same way as i486 with additional MMX instruction set support.

winchip2
IDT Winchip2 CPU, dealt in same way as i486 with additional MMX and 3dNOW! instruction set support.

c3
Via C3 CPU with MMX and 3dNOW! instruction set support. (No scheduling is implemented for this chip.)

c3-2
Via C3-2 CPU with MMX and SSE instruction set support. (No scheduling is implemented for this chip.)
*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 77676 · Report as offensive
Profile Thomas Walther @ PG-TW-Computer
Avatar

Send message
Joined: 28 Jul 99
Posts: 16
Credit: 26,162
RAC: 0
Germany
Message 77680 - Posted: 9 Feb 2005, 0:49:54 UTC - in response to Message 77676.  

The Intel Xeon seems to be based on Pentium III.

I will try this version today.

-------------------------------
processor : 3
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Xeon(TM) CPU 2.40GHz
stepping : 7
cpu MHz : 2399.386
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 pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 4784.12

ID: 77680 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 77684 - Posted: 9 Feb 2005, 0:57:03 UTC
Last modified: 9 Feb 2005, 0:59:17 UTC

I think some are based on the PII, others on the PIII depending on their age (but I could well be wrong!). It's a similar story with the celerons, which are basically cut down pentiums with less cache and could be PII, PIII or P4 based.

Anyway - let me know how you get on :)

Ned


*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 77684 · Report as offensive
Digitalis
Volunteer tester
Avatar

Send message
Joined: 24 Jul 99
Posts: 93
Credit: 85,678
RAC: 0
Ireland
Message 77693 - Posted: 9 Feb 2005, 1:36:13 UTC - in response to Message 77684.  

> I think some are based on the PII, others on the PIII depending on their age
> (but I could well be wrong!). It's a similar story with the celerons, which
> are basically cut down pentiums with less cache and could be PII, PIII or P4
> based.
>
> Anyway - let me know how you get on :)
>
> Ned
>
>
I'm new to Linux and have managed to download and install FC3 in a dual boot arrangement. I downloaded the appropriate gnu.tar.bz2 and unzipped it, whats next? Sorry to be so lame, but when you have been on the dark side for soooo long this stuff is hard. :)

ID: 77693 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 77698 - Posted: 9 Feb 2005, 1:56:43 UTC - in response to Message 77693.  
Last modified: 9 Feb 2005, 1:58:13 UTC

> I'm new to Linux and have managed to download and install FC3 in a dual boot
> arrangement. I downloaded the appropriate gnu.tar.bz2 and unzipped it, whats
> next? Sorry to be so lame, but when you have been on the dark side for soooo
> long this stuff is hard. :)
>

Create a dir for boinc (I use /home/boinc). Copy the extracted file into that directory (rename it to something simple like "boinc" if you like). Open a shell terminal window and "cd" to that directory. Then, at the command prompt, just run the file with ./filename (for example, if you renamed it to boinc, it would be ./boinc). you can stop the client at any time with Ctrl-C. There is no gui version for linux.

The ./ at the start means that it's located in the current directory, so it doesn't matter if that directory is not on your path.

And welcome to Linux :)

Ned


*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 77698 · Report as offensive
Digitalis
Volunteer tester
Avatar

Send message
Joined: 24 Jul 99
Posts: 93
Credit: 85,678
RAC: 0
Ireland
Message 77721 - Posted: 9 Feb 2005, 2:52:38 UTC - in response to Message 77698.  

> Create a dir for boinc (I use /home/boinc). Copy the extracted file into that
> directory (rename it to something simple like "boinc" if you like). Open a
> shell terminal window and "cd" to that directory. Then, at the command prompt,
> just run the file with ./filename (for example, if you renamed it to boinc, it
> would be ./boinc). you can stop the client at any time with Ctrl-C. There is
> no gui version for linux.
>
> The ./ at the start means that it's located in the current directory, so it
> doesn't matter if that directory is not on your path.
>
> And welcome to Linux :)
>
> Ned
>
Thanks Ned, attached to seti and crunching now. W is 987 and D is 2306 for a P4 1.8

You are credited with an addition to my list of pearls of wisdom for Linux right under "Linux is case sensitive", that ones in real big letters. On the bright side I managed to get TuxRacer running in all its glory which is fun but I'm still at level 1.
ID: 77721 · Report as offensive
Ned Slider

Send message
Joined: 12 Oct 01
Posts: 668
Credit: 4,375,315
RAC: 0
United Kingdom
Message 77727 - Posted: 9 Feb 2005, 3:07:18 UTC

LOL - glad you got it working. And yes, you are right, linux is case sensitive (unlike Windows).

By opening another shell window, and typing "top", you can check if seti is running OK and see processor usage etc (hit "q" to quit). Also, be aware that if you log out of KDE or gnome, or if you close the shell window in which you launched boinc, then boinc/seti will probably close too (although not always).

Also, don't worry if you strugggle to get work at the moment - the servers are having problems keeping up.

Ned


*** My Guide to Compiling Optimised BOINC and SETI Clients ***
*** Download Optimised BOINC and SETI Clients for Linux Here ***
ID: 77727 · Report as offensive
Digitalis
Volunteer tester
Avatar

Send message
Joined: 24 Jul 99
Posts: 93
Credit: 85,678
RAC: 0
Ireland
Message 77730 - Posted: 9 Feb 2005, 3:17:44 UTC - in response to Message 77727.  

> LOL - glad you got it working. And yes, you are right, linux is case sensitive
> (unlike Windows).
>
> By opening another shell window, and typing "top", you can check if seti is
> running OK and see processor usage etc (hit "q" to quit). Also, be aware that
> if you log out of KDE or gnome, or if you close the shell window in which you
> launched boinc, then boinc/seti will probably close too (although not
> always).
>
> Also, don't worry if you strugggle to get work at the moment - the servers are
> having problems keeping up.
>
> Ned
>
I hav'nt really noticed the server upset here with a 5 day cache but the 98se machine ran out of work earlier and the xp machine is running down, but Linux just downloded 14 wu's and is registerd on the
computer summary page
already. Also W was 908 under 98Se and D was 1795 so a 9 and 28% improvement, pretty impressive, well done.
thanks for the top tip :) I see a naked task manger!
ID: 77730 · Report as offensive
Previous · 1 · 2 · 3

Message boards : Number crunching : Optimized BOINC clients (Version 4.19) for **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.