Slow workunits solved
log in

Advanced search

Message boards : News : Slow workunits solved

Author Message
Matt Arsenault
Volunteer moderator
Project developer
Project tester
Project scientist
Send message
Joined: 8 May 10
Posts: 576
Credit: 15,979,383
RAC: 0

Message 43385 - Posted: 1 Nov 2010, 15:57:21 UTC

I've updated the Windows and 32 bit Linux applications to mostly fix the very slow workunit problem. The problem ended up being in the math libraries, which affected the Windows applications as well as 32bit Linux.

This should also fix the workunits failing on systems without SSE2 from the previous builds. I had built the BOINC libraries before with SSE2, since it was required for the N-body. However, since it is irrelevant if they use SSE2 or not, it only ended up polluting the non-SSE2 separation binaries.

Non-SSE2 versions will still be quite a bit slower. The SSE2 builds (which also covers 64bit) should be in the range of 25-30% faster than the old 0.19s. The 32bit Linux version is now using crlibm, and will be slightly slower than it should be now as a quick way to get math using SSE2. The 64bit Linux + clang build is still the fastest, but only by < 10% now over the Windows + SSE2 version.

Profile [SETI.Germany] Sutaru Tsureku (aka Dirk :-)
Send message
Joined: 30 Apr 09
Posts: 95
Credit: 24,003,766
RAC: 0

Message 43394 - Posted: 1 Nov 2010, 20:00:41 UTC - in response to Message 43385.
Last modified: 1 Nov 2010, 20:29:48 UTC

Everything well with the new 0.44 app?

I DLed the 0.44 sse2 app [EDIT: (Win 32bit)] manually and it have only 141 KB.
The old 0.4 sse2 app have 4.26 MB.


In the NC subforum, msattler reported the WUs fail with 0.44 [EDIT: (Win 64bit)]:
<core_client_version>6.10.56</core_client_version>
<![CDATA[
<message>
There are no child processes to wait for. (0x80) - exit code 128 (0x80)
</message>
]]>



Later I'll try the app..
____________

Profile [SETI.Germany] Sutaru Tsureku (aka Dirk :-)
Send message
Joined: 30 Apr 09
Posts: 95
Credit: 24,003,766
RAC: 0

Message 43397 - Posted: 1 Nov 2010, 20:24:08 UTC - in response to Message 43394.
Last modified: 1 Nov 2010, 20:33:37 UTC

I enabled CPU in the prefs and got the 0.44 app [EDIT: (Win 32bit), 140 KB]. But why not the SSE2 app? BOINC should know that my E7600 can up to SSE4.1 .

The result - immediately an error:
resultid=234172796
<core_client_version>6.10.58</core_client_version>
<![CDATA[
<message>
- exit code -1073741515 (0xc0000135)
</message>
]]>

____________

Maximum Defiant
Send message
Joined: 29 Feb 08
Posts: 3
Credit: 9,378,198
RAC: 3,350

Message 43398 - Posted: 1 Nov 2010, 20:40:41 UTC - in response to Message 43397.
Last modified: 1 Nov 2010, 20:42:33 UTC

Both 32 bit & 64 bit Windows workunits are immediately erroring out.
____________
It's NOT just a name, it's an attitude.

Len LE/GE
Send message
Joined: 8 Feb 08
Posts: 261
Credit: 104,050,322
RAC: 0

Message 43408 - Posted: 2 Nov 2010, 3:01:16 UTC

v0.45 (on WinXP 32bit) seems to run now.
Can you statically link (think it is /MT) the dll's into the exe?
Had to let BOINC download the exe (only got the non-SSE2) to find out I need msvcp100.dll and msvcr100.dll for v0.45 to run.

And for those who use an app_info for milkyway, here is the part I used to test the new separation app on Win32 with SSE2:

<app>
<name>milkyway</name>
</app>
<file_info>
<name>milkyway_0.45_windows_intelx86__sse2.exe</name>
<executable/>
</file_info>
<file_info>
<name>msvcp100.dll</name>
<executable/>
</file_info>
<file_info>
<name>msvcr100.dll</name>
<executable/>
</file_info>

<app_version>
<app_name>milkyway</app_name>
<version_num>45</version_num>
<file_ref>
<file_name>milkyway_0.45_windows_intelx86__sse2.exe</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>msvcp100.dll</file_name>
</file_ref>
<file_ref>
<file_name>msvcr100.dll</file_name>
</file_ref>
</app_version>


Download from [url href=http://milkyway.cs.rpi.edu/milkyway/download/]here[/url].
Chose the right one for your system:
milkyway_0.45_windows_intelx86.exe,
milkyway_0.45_windows_intelx86__sse2.exe or
milkyway_0.45_windows_x86_64.exe
and don't forget msvcp100.dll and msvcr100.dll!

After ~25% done, it looks like 6.5-7hrs on a Phenom II 3GHz.

Matt Arsenault
Volunteer moderator
Project developer
Project tester
Project scientist
Send message
Joined: 8 May 10
Posts: 576
Credit: 15,979,383
RAC: 0

Message 43409 - Posted: 2 Nov 2010, 3:06:43 UTC - in response to Message 43408.
Last modified: 2 Nov 2010, 3:07:22 UTC

v0.45 (on WinXP 32bit) seems to run now.
Can you statically link (think it is /MT) the dll's into the exe?
Had to let BOINC download the exe (only got the non-SSE2) to find out I need msvcp100.dll and msvcr100.dll for v0.45 to run.

Those should be sent out with it; you shouldn't need to download them. msvcp100.dll was missing in the 0.44s which was the problem, but that should be fixed with 0.45. I wanted to statically link it, but the math functions in the static vs. DLL version were getting different answers, and the DLL numbers were much closer to my references.

Profile [SETI.Germany] Sutaru Tsureku (aka Dirk :-)
Send message
Joined: 30 Apr 09
Posts: 95
Credit: 24,003,766
RAC: 0

Message 43416 - Posted: 2 Nov 2010, 12:58:00 UTC

Just curious..

Why have MW@h a SSE2 CPU app, if BOINC DL autom. only the app without the SSE2 extension?

Only for the people with knowledge about app_info.xml file and where to DL manually the SSE2 app?

____________

Matt Arsenault
Volunteer moderator
Project developer
Project tester
Project scientist
Send message
Joined: 8 May 10
Posts: 576
Credit: 15,979,383
RAC: 0

Message 43419 - Posted: 2 Nov 2010, 13:45:41 UTC - in response to Message 43416.

Just curious..
Why have MW@h a SSE2 CPU app, if BOINC DL autom. only the app without the SSE2 extension?
This is just terrible. There's no legitimate reason for it other than the BOINC scheduler being dumb. The non-SSE2 one is intended for the small percentage of people left without it; the SSE2 one should be considered the default. I'll try to work around this.

Only for the people with knowledge about app_info.xml file and where to DL manually the SSE2 app?
app_info.xml is also a pretty unusable system. Somebody should really replace everything managing versions on the client and server. It shouldn't require special knowledge, manually downloading files or manually editing XML, and it should be considerably more flexible than it is now. It doesn't really handle updates, and BOINC just sort of breaks whenever there's an error in the file.

Profile [SETI.Germany] Sutaru Tsureku (aka Dirk :-)
Send message
Joined: 30 Apr 09
Posts: 95
Credit: 24,003,766
RAC: 0

Message 43422 - Posted: 2 Nov 2010, 15:44:35 UTC
Last modified: 2 Nov 2010, 15:45:32 UTC

I got info, that the old opt. 0.19 CPU app work well with the new ('milkyway') WUs (the last opt. 0.21 not).
It would be O.K., to use this old opt. 0.19 CPU app?

But, where we could DL this old opt. CPU apps?
Maybe someone could 'keep ready' the old opt. apps somewhere for DL?


BTW. Gipsel, you are here?
When we could get new opt. CPU (milkyway + -nbody) apps? :-)
____________

Profile [SETI.Germany] Sutaru Tsureku (aka Dirk :-)
Send message
Joined: 30 Apr 09
Posts: 95
Credit: 24,003,766
RAC: 0

Message 43423 - Posted: 2 Nov 2010, 15:48:50 UTC - in response to Message 43419.

Just curious..
Why have MW@h a SSE2 CPU app, if BOINC DL autom. only the app without the SSE2 extension?

This is just terrible. There's no legitimate reason for it other than the BOINC scheduler being dumb. The non-SSE2 one is intended for the small percentage of people left without it; the SSE2 one should be considered the default. I'll try to work around this.

Thanks.

Only for the people with knowledge about app_info.xml file and where to DL manually the SSE2 app?
app_info.xml is also a pretty unusable system. Somebody should really replace everything managing versions on the client and server. It shouldn't require special knowledge, manually downloading files or manually editing XML, and it should be considerably more flexible than it is now. It doesn't really handle updates, and BOINC just sort of breaks whenever there's an error in the file.


But the app_info.xml file is (to now) the only way for us, to install opt. apps. ;-)

____________

Len LE/GE
Send message
Joined: 8 Feb 08
Posts: 261
Credit: 104,050,322
RAC: 0

Message 43443 - Posted: 3 Nov 2010, 11:31:01 UTC - in response to Message 43409.
Last modified: 3 Nov 2010, 11:33:28 UTC

v0.45 (on WinXP 32bit) seems to run now.
Can you statically link (think it is /MT) the dll's into the exe?
Had to let BOINC download the exe (only got the non-SSE2) to find out I need msvcp100.dll and msvcr100.dll for v0.45 to run.

Those should be sent out with it; you shouldn't need to download them. msvcp100.dll was missing in the 0.44s which was the problem, but that should be fixed with 0.45. I wanted to statically link it, but the math functions in the static vs. DLL version were getting different answers, and the DLL numbers were much closer to my references.


I wanted to use the SSE2 version and had no idea first why it was failing right after the start. Letting BOINC download the non-SSE2 version I saw the additional dlls coming with it, so I found what I missed with the SSE2 version :)
We all wish the BOINC downloader would be more intelligent.
(Einstein had to download both versions + a starter which decides what version to start locally.)

Incorrectly Rounded Conversions in Visual C++ together with the different libs linked depending on the flags might give a hint to the root of the differences in numbers? Only an idea.


Post to thread

Message boards : News : Slow workunits solved


Main page · Your account · Message boards


Copyright © 2018 AstroInformatics Group