I posted a message a couple of days ago on the "Optomized[sic] S5SSE3" thread pointing to exactly this discrepancy when the random "scientific method" argument was first raised.
The machine instructions that are being executed to arrive at the "einstein_S5R1_xxxx" executables results differ from one operating system to the next, and they obviously differ from hardware platform to hardware platform. It doesn't matter one bit that some compiler [they are all different too] generates these executables from the "same" source code. The machine instructions that come out after the code generation phase and all kinds of other magic are DIFFERENT. Those machine instructions however are responsible for the result that is being produced by the application.
The speeed differential between the linux and Win32 executables is a clear indication of it and the difference is totally obvious in a hex editor. The operating system by the way has very little influence over an application that spends some 99% of its time in computation loops.
Once you realize that all "einstein_S5R1_xxx" executables are inherently different you have to ask yourself: why can't Akos continue to optimize the Windows executables, and why did the project invest more energy into optimizing the linux executables that contribute much less to the results total.
I don't understand the official E@H position on this ... mostly I suppose because nobody from the project has contributed to the "Optomized ..." thread.
very good point... Would be great if finaly Bruce or someone from the official team would post here and state how they think and, more important, how the plans for the future are. The S5T0712 Version for example could be tested some time and then made the new official... Its just a great Version.....
edit: hm, or in the S5 optimized thread, i thougt i would be there ;)
All the messages that I've written on this subject still miss the point. So I'll try again.
The S5 Server Status currently shows a "Total needed" of 388.4 days with 377.3 days "remaining". I assume everybody would be a lot happier, if both of those numbers were let's say below 200 days. That is a distinct possibility with the remaining potential for optimization.
Nearly all of the approx 60 TFLOPS used by E@H are spent in the main compute subroutine. All Intel/AMD machines [pretty much regardless of the OS] should be able to use the same highly optimized sequence of machine instructions for this loop. If they all did, the scientists could rest even easier than they do now, because one further layer of the onion would be understood and under control.
Any argument whether the optimized sequence of instructions yields the result laid down in the "einstein_S5xxx" source code can be settled by having some hot shot FPU engineer at Intel and/or AMD certify that it does or doesn't. That's what some of them do for a living as they verify their CPU designs. Even Intel and AMD don't encounter that many code sequences that get executed 10 to-the 25th times or so inside one year, so they'll probably take a look at it.
And there is really only one place to do the optimization: the standard E@H science application. It seems so much easier to make progress on this front than to actually do the science behind gravitational waves.
The benchmark based credits have never been fair to Linux users as the BOINC Linux benchmark was sluggish.
The FpOps counting method used by S5 has some overhead (program-wise) but it still reflects the real performance of a machine better.
btw i just tested and the Linux benchmark is still crap. Why dont the developer change anything to this, its horrible for users on benchmark-based projects. i have
Windows XP:
Measured floating point speed 2074.07 million ops/sec
Measured integer speed 3828.99 million ops/sec
Suse Linux 10.1:
Measured floating point speed 1091.92 million ops/sec
Measured integer speed 2170.99 million ops/sec
The benchmark based credits have never been fair to Linux users as the BOINC Linux benchmark was sluggish.
The FpOps counting method used by S5 has some overhead (program-wise) but it still reflects the real performance of a machine better.
btw i just tested and the Linux benchmark is still crap. Why dont the developer change anything to this, its horrible for users on benchmark-based projects. i have
Windows XP:
Measured floating point speed 2074.07 million ops/sec
Measured integer speed 3828.99 million ops/sec
Suse Linux 10.1:
Measured floating point speed 1091.92 million ops/sec
Measured integer speed 2170.99 million ops/sec
on the same Computer!
You can get the source of BOINC and compile it on your computer. This will give you much better benchmark results. :)
You can get the source of BOINC and compile it on your computer. This will give you much better benchmark results. :)
cu,
Michael
i tried that, but on the first step ( ./_autosetup ) it told me that gtk-config is not installed, although a packet called gtkconfig was installed on the system. Then i downloaded gtk-config (with the - between gtk and config) and installed it from source code, but still the _autosetup kept telling me its not installed....,.
You can get the source of BOINC and compile it on your computer. This will give you much better benchmark results. :)
cu,
Michael
i tried that, but on the first step ( ./_autosetup ) it told me that gtk-config is not installed, although a packet called gtkconfig was installed on the system. Then i downloaded gtk-config (with the - between gtk and config) and installed it from source code, but still the _autosetup kept telling me its not installed....,.
------------------------ here you can find a step by step to optimize your own BOINC-Client for Linux thereyou can find a "How to make your own optimized Seti@Home client for Windows"
perhaps this help you
britta
You can get the source of BOINC and compile it on your computer. This will give you much better benchmark results. :)
cu,
Michael
i tried that, but on the first step ( ./_autosetup ) it told me that gtk-config is not installed, although a packet called gtkconfig was installed on the system. Then i downloaded gtk-config (with the - between gtk and config) and installed it from source code, but still the _autosetup kept telling me its not installed....,.
Afaik I did it with ./configure, look at the options, you maybe need to download and compile gtk (+libcul etc.), but after compiling you _don't_ need to do "make install". Just leave the packages somewhere, where you like. When you use ./configure, you can declare the path to these additional needed packages and voila. :)
You dont'n nessesarily need the additional packages after you successfully compiled, because you can do static compilation(default, afair).
If you like truXsofts calibrating client, you can download my 64-Bit versions here.
Afaik I did it with ./configure, look at the options, you maybe need to download and compile gtk (+libcul etc.), but after compiling you _don't_ need to do "make install". Just leave the packages somewhere, where you like. When you use ./configure, you can declare the path to these additional needed packages and voila. :)
You dont'n nessesarily need the additional packages after you successfully compiled, because you can do static compilation(default, afair).
the configure file doesnt exist at the beginning, you have to successfully finish the autosetup before you can /.configure.... a bit strange....
but.. hm.. i think at Einstein the benchmark should not matter any more and i think it doesnt make a difference for the einstein client, does it?
btw does the "stderr out" change anything? on my notebook, suse linux 10.1 32 bit it says:
5.4.9
2006-06-28 18:37:57.6032 [normal]: Start of BOINC application 'einstein_S5R1_4.01_i686-pc-linux-gnu'.
2006-06-28 18:37:57.8316 [normal]: Started search at lalDebugLevel = 0
2006-06-28 18:37:59.7663 [normal]: Checkpoint-file 'Fstat.out.ckp' not found.
2006-06-28 18:37:59.7667 [normal]: No usable checkpoint found, starting from beginning.
Detected CPU type 1
and on my desktop, suse linux 10.1 64 bit it only says:
stderr out
5.4.9
edit: on first test with linux on this desktop i got more credits / hour than on Windows, but i got short WUs here and only long ones on windows.. so i dont know yet if the linux client really is faster or if the short WUs are the reason.. hard to compare
Average CPU
)
Average CPU efficiency 0.997999
ctrl+c , ctrl+v from my computer summary page
and it does not just crunch. 98se
:)
98SE XP2500+ @ 2.1 GHz Boinc v5.8.8
How about 99.7261% Average
)
How about 99.7261% Average CPU efficiency for this machine that's been crunching mostly Einstein?
AMD X2 running WinXP
The OS is "not" involved in running the BOINC science apps. They do their own thing when they have the machine largely to themselves.
0.2739% of the CPU cycles were used by something other than Einstein according to this statistic ... and the machine uses Windows XP.
RE: I posted a message a
)
very good point... Would be great if finaly Bruce or someone from the official team would post here and state how they think and, more important, how the plans for the future are. The S5T0712 Version for example could be tested some time and then made the new official... Its just a great Version.....
edit: hm, or in the S5 optimized thread, i thougt i would be there ;)
All the messages that I've
)
All the messages that I've written on this subject still miss the point. So I'll try again.
The S5 Server Status currently shows a "Total needed" of 388.4 days with 377.3 days "remaining". I assume everybody would be a lot happier, if both of those numbers were let's say below 200 days. That is a distinct possibility with the remaining potential for optimization.
Nearly all of the approx 60 TFLOPS used by E@H are spent in the main compute subroutine. All Intel/AMD machines [pretty much regardless of the OS] should be able to use the same highly optimized sequence of machine instructions for this loop. If they all did, the scientists could rest even easier than they do now, because one further layer of the onion would be understood and under control.
Any argument whether the optimized sequence of instructions yields the result laid down in the "einstein_S5xxx" source code can be settled by having some hot shot FPU engineer at Intel and/or AMD certify that it does or doesn't. That's what some of them do for a living as they verify their CPU designs. Even Intel and AMD don't encounter that many code sequences that get executed 10 to-the 25th times or so inside one year, so they'll probably take a look at it.
And there is really only one place to do the optimization: the standard E@H science application. It seems so much easier to make progress on this front than to actually do the science behind gravitational waves.
Crunch on.
RE: The benchmark based
)
btw i just tested and the Linux benchmark is still crap. Why dont the developer change anything to this, its horrible for users on benchmark-based projects. i have
Windows XP:
Measured floating point speed 2074.07 million ops/sec
Measured integer speed 3828.99 million ops/sec
Suse Linux 10.1:
Measured floating point speed 1091.92 million ops/sec
Measured integer speed 2170.99 million ops/sec
on the same Computer!
RE: RE: The benchmark
)
You can get the source of BOINC and compile it on your computer. This will give you much better benchmark results. :)
cu,
Michael
RE: You can get the source
)
i tried that, but on the first step ( ./_autosetup ) it told me that gtk-config is not installed, although a packet called gtkconfig was installed on the system. Then i downloaded gtk-config (with the - between gtk and config) and installed it from source code, but still the _autosetup kept telling me its not installed....,.
RE: RE: You can get the
)
------------------------
here you can find a step by step to optimize your own BOINC-Client for Linux
thereyou can find a "How to make your own optimized Seti@Home client for Windows"
perhaps this help you
britta
RE: RE: You can get the
)
Afaik I did it with ./configure, look at the options, you maybe need to download and compile gtk (+libcul etc.), but after compiling you _don't_ need to do "make install". Just leave the packages somewhere, where you like. When you use ./configure, you can declare the path to these additional needed packages and voila. :)
You dont'n nessesarily need the additional packages after you successfully compiled, because you can do static compilation(default, afair).
If you like truXsofts calibrating client, you can download my 64-Bit versions here.
Have fun
Michael
RE: Afaik I did it with
)
the configure file doesnt exist at the beginning, you have to successfully finish the autosetup before you can /.configure.... a bit strange....
but.. hm.. i think at Einstein the benchmark should not matter any more and i think it doesnt make a difference for the einstein client, does it?
btw does the "stderr out" change anything? on my notebook, suse linux 10.1 32 bit it says:
5.4.9
2006-06-28 18:37:57.6032 [normal]: Start of BOINC application 'einstein_S5R1_4.01_i686-pc-linux-gnu'.
2006-06-28 18:37:57.8316 [normal]: Started search at lalDebugLevel = 0
2006-06-28 18:37:59.7663 [normal]: Checkpoint-file 'Fstat.out.ckp' not found.
2006-06-28 18:37:59.7667 [normal]: No usable checkpoint found, starting from beginning.
Detected CPU type 1
and on my desktop, suse linux 10.1 64 bit it only says:
stderr out
5.4.9
edit: on first test with linux on this desktop i got more credits / hour than on Windows, but i got short WUs here and only long ones on windows.. so i dont know yet if the linux client really is faster or if the short WUs are the reason.. hard to compare