Windows S5R3 App 4.25 available for Beta Test

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Moderator
Joined: 28 Aug 06
Posts: 3522
Credit: 688914665
RAC: 208116

RE: RE: mov esi,

Message 77369 in response to message 77367

Quote:
Quote:

mov esi, DWORD PTR [eax]
mov eax, DWORD PTR [eax+04h]
mov DWORD PTR [esp+0b4h], eax
mov DWORD PTR [esp+0b0h], esi
fld QWORD PTR [esp+0b0h]
mov DWORD PTR [esp+090h], ecx
mov DWORD PTR [esp+094h], ecx
fld QWORD PTR [esp+090h]
mov DWORD PTR [esp+070h], ecx
mov DWORD PTR [esp+074h], ecx
fld QWORD PTR [esp+070h]

I really don't know what the compiler had on his mind when he was writing that :-)


Each complier has to follow a scheme, because they don't have any intuitions.

1, init local variables

Quote:
mov esi, DWORD PTR [eax]
mov eax, DWORD PTR [eax+04h]
mov DWORD PTR [esp+0b4h], eax
mov DWORD PTR [esp+0b0h], esi
mov DWORD PTR [esp+090h], ecx
mov DWORD PTR [esp+094h], ecx
mov DWORD PTR [esp+070h], ecx
mov DWORD PTR [esp+074h], ecx

2, compile calculations
Quote:
fld QWORD PTR [esp+0b0h]
fld QWORD PTR [esp+090h]
fld QWORD PTR [esp+070h]

3, optimalization (interlace of integer/FPU operations)
Quote:
mov esi, DWORD PTR [eax]
mov eax, DWORD PTR [eax+04h]
mov DWORD PTR [esp+0b4h], eax
mov DWORD PTR [esp+0b0h], esi
fld QWORD PTR [esp+0b0h]
mov DWORD PTR [esp+090h], ecx
mov DWORD PTR [esp+094h], ecx
fld QWORD PTR [esp+090h]
mov DWORD PTR [esp+070h], ecx
mov DWORD PTR [esp+074h], ecx
fld QWORD PTR [esp+070h]

So, this is an optimized result.
But, always is a faster solution, of course.

After looking at that code again, I think in this special case the ecx seems to be always zero (there's a preceeding XOR ecx,ecx) , so basically the floating point instructions should just be

fld QWORD PTR [eax]
fld0
fld0

reducing the number of store forwarding stalls from three to zero.

CU

Bikeman

Bernd Machenschalk
Bernd Machenschalk
Moderator
Administrator
Joined: 15 Oct 04
Posts: 4273
Credit: 245206288
RAC: 13291

RE: As to the Win beta

Message 77371 in response to message 77366

Quote:

As to the Win beta app:

Graphics work like a charm, even under Windows Vista.


This is good news! Thank you!

Quote:

As to the speed, I did some profiling and disassembling and as Bernd has already mentioned, the Microsoft compiler just ruined the hot-loop, even worse than gcc did for the latest beta app :-(

In addition, the Compiler emits code that is really not so hot when it comes to copying or initializing double precision floating point data [...]


I'll try to build an App with the old Visual Studio of 2003 (instead of VS2005). At least the /G7 optimization should work there. Let's see if it helps...

BM

BM

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Moderator
Joined: 28 Aug 06
Posts: 3522
Credit: 688914665
RAC: 208116

Was that the version that had

Was that the version that had the AMD punishing code included in the math lib, or was that an even older one? Difficult choice there.

CU
H-B

Bernd Machenschalk
Bernd Machenschalk
Moderator
Administrator
Joined: 15 Oct 04
Posts: 4273
Credit: 245206288
RAC: 13291

RE: Was that the version

Message 77373 in response to message 77372

Quote:
Was that the version that had the AMD punishing code included in the math lib, or was that an even older one? Difficult choice there.


IIRC the "AMD-Punishment" happened in a version of the SIN/COS code that I don't intend to use now.

BM

BM

Brian Silvers
Brian Silvers
Joined: 26 Aug 05
Posts: 772
Credit: 282700
RAC: 0

RE: Was that the version

Message 77374 in response to message 77372

Quote:
Was that the version that had the AMD punishing code included in the math lib, or was that an even older one? Difficult choice there.

If it happens like it did before, at least I can "fix" it... :-)

Edit: I see Bernd commented on where... Even still, I know how to deal with that issue....

Richard Haselgrove
Richard Haselgrove
Joined: 10 Dec 05
Posts: 2140
Credit: 2769706700
RAC: 941002

The SETI volunteer optimisers

The SETI volunteer optimisers (NOT the main SETI project programmers) had problems with 32-bit Vista compatibility. I have an unconfirmed memory (can't find the reference just now) that it was cured by upgrading from VS2003 to VS 2005 SP1. May be a false alarm, but I would suggest a specific test under Vista for any VS2003 app.

Bernd Machenschalk
Bernd Machenschalk
Moderator
Administrator
Joined: 15 Oct 04
Posts: 4273
Credit: 245206288
RAC: 13291

RE: The SETI volunteer

Message 77376 in response to message 77375

Quote:
The SETI volunteer optimisers (NOT the main SETI project programmers) had problems with 32-bit Vista compatibility. I have an unconfirmed memory (can't find the reference just now) that it was cured by upgrading from VS2003 to VS 2005 SP1. May be a false alarm, but I would suggest a specific test under Vista for any VS2003 app.


Good point!

Thank you!

BM

BM

Bernd Machenschalk
Bernd Machenschalk
Moderator
Administrator
Joined: 15 Oct 04
Posts: 4273
Credit: 245206288
RAC: 13291

RE: I'll try to build an

Message 77377 in response to message 77371

Quote:
I'll try to build an App with the old Visual Studio of 2003 (instead of VS2005). At least the /G7 optimization should work there. Let's see if it helps...


Continued here.

BM

BM

Svenie25
Svenie25
Joined: 21 Mar 05
Posts: 139
Credit: 2436862
RAC: 0

Could it be, that this

Could it be, that this versions, beta and poweruser, doesn´t function with Windows 64bit? I´m running Vista Ultimat and get an errromessage, if I try to use these app. Sorry, I deleted it from BOINC-Manager, but it sounden somethinh like "no windows x85_64 app found" or so.

Edit says: It is the same errormassage that some guys posted in the Linux-Poweruserapp-thread.

RandyC
RandyC
Joined: 18 Jan 05
Posts: 6067
Credit: 111139797
RAC: 0

RE: Could it be, that this

Message 77379 in response to message 77378

Quote:

Could it be, that this versions, beta and poweruser, doesn´t function with Windows 64bit? I´m running Vista Ultimat and get an errromessage, if I try to use these app. Sorry, I deleted it from BOINC-Manager, but it sounden somethinh like "no windows x85_64 app found" or so.

Edit says: It is the same errormassage that some guys posted in the Linux-Poweruserapp-thread.

I've been running the Beta version since last night on XP Pro 64 with no problems. Just started the poweruser version and it seems OK. Will monitor it.

Seti Classic Final Total: 11446 WU.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.