Page 2 of 4 FirstFirst 1234 LastLast
Results 16 to 30 of 53
  1. #16
    Joined
    Oct 2004
    Posts
    3

    Re: Compiling Boinc on Linux - Discussion thread

    Quote Originally Posted by Ned Slider
    So you got better results using -march=athlon-xp on a Xeon than using -march=i686?

    Wow - that's interesting!

    Could you post your benchmark scores for both please if you have them available.

    Ned

    Hi Ned,

    Sorry for the slow reply, been busy for a few days. The benchmarks are in my first post above. The first ones are with the precompiled (unoptimised) binaries, the second are with the athlon-xp optimisations, and the third are with the i686.


    Thanks for the HOW-TO/FAQ. I followed your directions and my benchmarks went from

    511 double precision MIPS (Whetstone) per CPU
    1135 integer MIPS (Dhrystone) per CPU

    to

    1339 double precision MIPS (Whetstone) per CPU
    1336 integer MIPS (Dhrystone) per CPU

    Then I had a "D'oh!" moment when I realised that by using cut and paste I'd included the athlon optimisation instead of for i686. But here's the thing, when I recompiled the benchmarks weren't as good for the i686 optimisation as for the athlon.

    1316 double precision MIPS (Whetstone) per CPU
    1167 integer MIPS (Dhrystone) per CPU
    Also, I'm running Slackware 10.0, so you can chalk up a success there too.

    John
    Last edited by Ned Slider; 10-11-2004 at 09:56 AM.

  2. #17
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Compiling Boinc on Linux - Discussion thread

    Thanks John,

    I pasted your benchmark scores from your previous post into the one above for clarity. Hope you don't mind

    Ned

  3. #18
    Joined
    Oct 2004
    Location
    Everett Washington
    Posts
    1

    Thumbs up Re: Compiling Boinc on Linux - Discussion thread

    Ned, first off, thanks for the excellent work on detailing the steps you went through to optimize the boinc client for Athlons... I downloaded your 4.13 client and saw about a 75% increase in the benchmark score. I then downloaded the source, ( Oct 16 2004 nighly build ), and following you most excellent instruction, compiled the client. I was amazed to see that my drystones increased from 2331 on your client, to 3323 on mine. The whetstones were about the same. Oh, I am running SUSE 9.1 on an Athlon XP 2500+ Barton.

  4. #19
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Compiling Boinc on Linux - Discussion thread

    Quote Originally Posted by Jim C.
    Ned, first off, thanks for the excellent work on detailing the steps you went through to optimize the boinc client for Athlons... I downloaded your 4.13 client and saw about a 75% increase in the benchmark score. I then downloaded the source, ( Oct 16 2004 nighly build ), and following you most excellent instruction, compiled the client. I was amazed to see that my drystones increased from 2331 on your client, to 3323 on mine. The whetstones were about the same. Oh, I am running SUSE 9.1 on an Athlon XP 2500+ Barton.
    Thanks Jim - and welcome to our forums

    Not quite sure why it should be so much faster when you compiled it yourself - I assume you used exactly the same compiler optimisation flags. I'll try recompiling that source and see if it makes any difference for me (my 4.13 build was from the 14/10/2004 nightly source). Though, of course, it's always better to compile stuff yourself on your own specific hardware if you can.

    EDIT: I just recompiled from the 16/10/2004 nightly source and see no increase in benchmark scores so I can only assume your increases are coming from compiling on your machine.

    Ned
    Last edited by Ned Slider; 10-16-2004 at 10:53 PM.

  5. #20
    Joined
    Mar 2002
    Location
    bergen county, new jersey
    Posts
    784

    Re: Compiling Boinc on Linux - Discussion thread

    Stupid question, probably more of a general Linux question more than a Seti question:

    Would the different distro and different hardware make the compile more optimized for the particular system as well as including the optimization flags??

  6. #21
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Compiling Boinc on Linux - Discussion thread

    Quote Originally Posted by centered effect
    Stupid question, probably more of a general Linux question more than a Seti question:

    Would the different distro and different hardware make the compile more optimized for the particular system as well as including the optimization flags??
    Yes, most definately.

    Firstly there is the gcc compiler used. Later versions of gcc seem to produce much faster (more optimised) binaries so if you're compiling on an older distro using an older version of gcc you could reasonably expect slower binaries to result.

    Secondly, the source code is not self contained. Many common functions are not duplicated in the program source code but are called from common system libraries (much like DLL's on a Windows system). These library files can either be statically linked meaning they're compiled in or dynamically linked meaning that a pointer to them is linked into the binary. There are two things to consider here. Firstly, there may be differences in performance betwen different versions of these libraries. Secondly, and probably more importantly, the libraries on a given machine could have been compiled with different optimisations. For example, on most main stream distro's they're probably i386 for compatability whereas on something like gentoo they might have been compiled with hardware specific (i686 or athlon) optimisations.

    As these libraries now effectively form part of your program, some of your program is optimised for i686 or athlon whereas other parts are only optimised for i386. How much difference this makes will totally depend on what the shared library functions are doing and how often they're being called. Obviously, if a core science routine is being used it will make a huge difference whereas if it's a routine to print output to the console that's only being used at the start and end of the program running then optimising it for your specific hardware isn't going to make any difference at all. This is a general comment, as for the boinc work manager the thing we're really interested in is otimising the benchmark code which is self contained AFAIK.

    Ned

  7. #22
    Joined
    Mar 2002
    Location
    bergen county, new jersey
    Posts
    784

    Re: Compiling Boinc on Linux - Discussion thread

    Thanks Ned for the great reply. I am loving Linux every minuete.... So I can compile any program and it would be optimized for my personal system, not generalized like say Mandrake, or should I be looking for a i686 distro that is more optimized for AMD systems?

  8. #23
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Compiling Boinc on Linux - Discussion thread

    Quote Originally Posted by centered effect
    Thanks Ned for the great reply. I am loving Linux every minuete.... So I can compile any program and it would be optimized for my personal system, not generalized like say Mandrake, or should I be looking for a i686 distro that is more optimized for AMD systems?
    Yes, you could compile everything for your own system.

    Depends what you want to do. Optimisation is a bit of a black art. Take -O3 (heavy optimisation) versus -Os (optimised for size). Often Os will appear faster even though it's less optimised because it's smaller and therefore can load faster. Do you want a snappy feeling desktop, a system that does fast video decoding or one that's quick to do lengthy compiling on. You could recompile mozilla or firefox from scratch but it won't make the web any quicker.

    In days past, with gcc 2.95 which made relatively slow code, you could recompile X, KDE, Qt and see real improvements in speed but with the latest gcc releases the code is a lot faster and you'd pretty much be wasting your time. Where speed is important, things are already fairly well optimised. You'll get more of an improvement by tweaking your system to make sure you don't have loads of unneeded services running taking up memory etc.

    Ned

  9. #24
    Joined
    Mar 2002
    Location
    Never more than 10 feet from a linux box.
    Posts
    45

    Re: Compiling Boinc on Linux - Discussion thread

    Neds binary:

    1599 double precision MIPS (Whetstone) per CPU
    2205 integer MIPS (Dhrystone) per CPU

    amd xp2000+
    128 megs of ddr

    Slackware 10

    are the flags you mentioned in this thread flags that you add when you execute the binary or are they compiled into it from the scource code? if the latter, where does one find the boinc scource code?

    Thanks
    Last edited by 1trainedmonkey; 11-04-2004 at 07:39 PM.

  10. #25
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Compiling Boinc on Linux - Discussion thread

    Quote Originally Posted by 1trainedmonkey
    1599 double precision MIPS (Whetstone) per CPU
    2205 integer MIPS (Dhrystone) per CPU

    amd xp2000+
    128 megs of ddr

    Slackware 10
    Nice job 1TM

    Your whetstone looks spot on, but your dhrystone looks a little low, comparing to my 1900+ and 2100+ boxes. I would have expected about 2500.

    Ned

  11. #26
    Joined
    Mar 2002
    Location
    Never more than 10 feet from a linux box.
    Posts
    45

    Re: Compiling Boinc on Linux - Discussion thread

    hehe, looks as if i edited my post just as you were posting.


    see above

  12. #27
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Compiling Boinc on Linux - Discussion thread

    OK - I see

    The optimisation flags are used during the compilation to produce an optimised binary. You may see some improvements by compiling it yourself on your own machine but it will be in the same ball park as my client you downloaded.

    If you want to have a go at compiling it yourself, see the boinc faq sticky or here for a detailed tutorial. Links to the source code are in the tutorial.

    Ned
    Last edited by Ned Slider; 11-04-2004 at 08:08 PM.

  13. #28
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Compiling Boinc on Linux - Discussion thread

    And a quick note for anyone who's compiled the boinc client and now wants to have a go at compiling the actual seti client, a tutorial is now also available here.

    I only psted it last night so it's still a little rough around the edges

    Enjoy

    Ned

  14. #29
    Joined
    Mar 2002
    Location
    Never more than 10 feet from a linux box.
    Posts
    45

    Re: Compiling Boinc on Linux - Discussion thread

    thanks for the links Ned.


    my compiled client results:

    1598 double precision MIPS (Whetstone) per CPU
    2213 integer MIPS (Dhrystone) per CPU

  15. #30
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Compiling Boinc on Linux - Discussion thread

    So they are exactly the same (within normal variation)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •