I know they are against releasing the code of einstein for various reasons. But why can't maybe break up the einstein code into the part that does calculations, and then a part that does everything else. That way people could optimize the calculation code, say for a pentium4, and also you don't have to worry about people tinkering with other parts of the code. Just an idea
Thanks!
Jordan Wilberding
such things just should not be writ so please destroy this if you wish to live 'tis better in ignorance to dwell than to go screaming into the abyss worse than hell
Copyright © 2024 Einstein@Home. All rights reserved.
An idea on how to optimize einstein.
)
> I know they are against releasing the code of einstein for various reasons.
> But why can't maybe break up the einstein code into the part that does
> calculations, and then a part that does everything else. That way people could
> optimize the calculation code, say for a pentium4, and also you don't have to
> worry about people tinkering with other parts of the code. Just an idea
>
> Thanks!
> Jordan Wilberding
>
>
>
It's a real bitch hey? Unfortunatly they don't want people optimising the code with flags that could invalidate results, I get the feeling that -ffast-math and -O3 can screw things up. I've never had problems with -ffast-math myself, but then again I've never written scientific programs :p. -O3 on the other hand has broken a few things of mine. One being a GTK+2.0 program with an animation, with -O2 it animated fine, with -O3 it'd only animate with the animation got a callback (mouse moved in/out/clicked window resized/got hidden etc).
Also, if you look into your BOINC directory you'll see that the core file that's downloaded is called something like "einstein_4.80_i686-pc-linux-gnu", this means that they have compiled an i686 optimised version of the core, it's not Athlon optimised ('sif run intel :p) but none the less they have put some thought into it.
> It's a real bitch hey?
)
> It's a real bitch hey? Unfortunatly they don't want people optimising the code
> with flags that could invalidate results, I get the feeling that -ffast-math
> and -O3 can screw things up. I've never had problems with -ffast-math myself,
> but then again I've never written scientific programs :p. -O3 on the other
> hand has broken a few things of mine. One being a GTK+2.0 program with an
> animation, with -O2 it animated fine, with -O3 it'd only animate with the
> animation got a callback (mouse moved in/out/clicked window resized/got hidden
> etc).
>
> Also, if you look into your BOINC directory you'll see that the core file
> that's downloaded is called something like "einstein_4.80_i686-pc-linux-gnu",
> this means that they have compiled an i686 optimised version of the core, it's
> not Athlon optimised ('sif run intel :p) but none the less they have put some
> thought into it.
I know it would take a little testing to get things right. As far as I know generally gcc won't optimize floating point operations hardly at all, because it is not associative or commutative. But it still can do other optimizations specific to p4 or athlon, that would make the code more processor friendly. That's all I am really asking for, a simple -march=pentium4 and -march=athlon-xp version is all I want :)
such things just should not be writ so please destroy this if you wish to live 'tis better in ignorance to dwell than to go screaming into the abyss worse than hell
Jordan, > I know they are
)
Jordan,
> I know they are against releasing the code of einstein for various reasons.
> But why can't maybe break up the einstein code into the part that does
> calculations, and then a part that does everything else. That way people could
> optimize the calculation code, say for a pentium4, and also you don't have to
> worry about people tinkering with other parts of the code. Just an idea
Actually, that is what has happened. The Science Application that does the calculations is written in C++ and uses the BOINC Daemon and BOINC Manager to do everything else.
THough it is not going to change your run times much if at all, there are optimized BOINC Software components out there.
> Thanks!
You are welcome ... no charge ...