OPTIMIZER WANTED FOR A SIX CORE AMD PROCESSOR

tullio
tullio
Joined: 22 Jan 05
Posts: 2,118
Credit: 61,407,735
RAC: 0

On my Opteron 1210 with Linux

On my Opteron 1210 with Linux I have completed 4 ABP2 units waiting for validation. The one completed and validated employed 14820.17 s against 11287.53 s on an Intel Quad Q9550 at 2.83 GHz running Server Edition against my 1.80 GHz. I am not doing that bad, I think.
Tullio
Sorry I wrote a figure from an invalid result. The Quad did it in 5878.23. s.

leks
leks
Joined: 21 Nov 07
Posts: 28
Credit: 483,169,031
RAC: 0

If the application compiled

Message 99825 in response to message 99824

If the application compiled by Intel's compiler this old article can explain backlog AMD
http://www.agner.org/optimize/blog/read.php?i=49

ML1
ML1
Joined: 20 Feb 05
Posts: 347
Credit: 86,563,414
RAC: 251

RE: If the application

Message 99826 in response to message 99825

Quote:
If the application compiled by Intel's compiler this old article can explain backlog AMD
http://www.agner.org/optimize/blog/read.php?i=49

Ahhh... That old "Naughty Intel" piece of sabotage... That has wasted a vast amount of everyone's time...

Is that really in the Einstein code? I thought that was asked a long time ago and found not to be the case?

Then again, I'm rather curious as to why the Einstein code might favour Intel CPUs over AMD's. Is that really the case?

Happy crunchin',
Martin

See new freedom: Mageia Linux
Take a look for yourself: Linux Format
The Future is what We all make IT (GPLv3)

Mike Hewson
Mike Hewson
Moderator
Joined: 1 Dec 05
Posts: 6,591
Credit: 321,170,407
RAC: 411,242

RE: If the application

Message 99827 in response to message 99825

Quote:
If the application compiled by Intel's compiler this old article can explain backlog AMD
http://www.agner.org/optimize/blog/read.php?i=49


Naughty Intel? Hardly. This Agner guy asserts :

Quote:
If Intel had advertised their compiler as compatible with Intel processors only, then there would probably be no complaints. The problem is that they are trying to hide what they are doing. Many software developers think that the compiler is compatible with AMD processors, and in fact it is, but unbeknownst to the programmer it puts in a biased CPU dispatcher that chooses an inferior code path whenever it is running on a non-Intel processor.


Where's he been? Or these clue-less developers and programmers for that matter. I have a rather earlier version of the Intel C++ compiler from when they first started doing this, previous millennium, which ( like now ) has phrases like "for the full range of Intel® processor-based platforms" all over the blurb. You'd have to open the packet with a blindfold on and throw out the all the documents inside before you took it off to miss the 'for Intel products' lean on the product. I suppose he is expecting Intel to validate and accommodate behaviours on hardware they don't design? I suspect if they had they'd still be in court - the complaint would morph to track that. Maybe AMD should reverse engineer the compiler/libraries to source code and put out their own version ..... whoops they've already done that .... using an Intel Fortran compiler no less. AMD are simply paying the price for being derivative and not imaginative. Do AMD stockholders believe this type of behaviour will preserve company worth until 2015? 2020?

This smacks of yacht clubs and the America's Cup. If you can't win out on the waves, do it in court instead.

Cheers, Mike.

I have made this letter longer than usual because I lack the time to make it shorter ...

... and my other CPU is a Ryzen 5950X :-) Blaise Pascal

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Moderator
Joined: 28 Aug 06
Posts: 3,522
Credit: 739,040,554
RAC: 1,272,905

RE: RE: If the

Message 99828 in response to message 99826

Quote:
Quote:
If the application compiled by Intel's compiler this old article can explain backlog AMD
http://www.agner.org/optimize/blog/read.php?i=49

Ahhh... That old "Naughty Intel" piece of sabotage... That has wasted a vast amount of everyone's time...

Is that really in the Einstein code? I thought that was asked a long time ago and found not to be the case?

Then again, I'm rather curious as to why the Einstein code might favour Intel CPUs over AMD's. Is that really the case?

It's certainly not the compiler's fault: all ABP2 apps (including those for Windows) are compiled using variants of the Open Source GCC compiler. It is only rather recently that Intel is showing some degree of interest in gcc development. AMD has more actively supported GCC development in the past.

The reason why the CPU versions of ABP2 are somewhat faster on Intel CPUs is probably the FFT library used, as FFT is the dominant factor of the runtime.

CU
HB

DanNeely
DanNeely
Joined: 4 Sep 05
Posts: 1,364
Credit: 3,562,358,667
RAC: 0

RE: Where's he been? Or

Message 99829 in response to message 99827

Quote:

Where's he been? Or these clue-less developers and programmers for that matter. I have a rather earlier version of the Intel C++ compiler from when they first started doing this, previous millennium, which ( like now ) has phrases like "for the full range of Intel® processor-based platforms" all over the blurb. You'd have to open the packet with a blindfold on and throw out the all the documents inside before you took it off to miss the 'for Intel products' lean on the product. I suppose he is expecting Intel to validate and accommodate behaviours on hardware they don't design? I suspect if they had they'd still be in court - the complaint would morph to track that.

The way intel implemented their checks made it clear that the objective was not to guard against 3rd party processors claiming capabilities they didn't have but to nerf AMD performance.

Had their intent been what you describe the implementation would have been something like this:

if (CPU.IsIntel() && CPU.ClaimsSSESupport())
  GenerateSSECode();
else GenerateX87Code();


What Intel actually wrote (and could be trivially confirmed by changing the string checked in CPU.IsAMD()) was something like this:

if (CPU.IsAmd())
  GenerateX87Code();
else if (CPU.ClaimsSSESupport())
  GenerateSSECode();
else Generate X87Code();

The IsAMD function was implemented similar to this:

bool IsAMD()
{
   return CPU.VendorName == "AuthenticAMD";
}

Editing the string in the executable to eg "AuthenticAMC" would result in the compiler trusting the CPU's claim of SSE support.

tl;dr: any cpu by an unknown manufacturer was assumed to be giving correct information about if it supported SSE which would leave them wide open for lawyer trolling if some random vendors CPU didn't do what it claimed it could. AMD cpu's were explicitly not checked for SSE support. Besides AMD and Via there's at least one other company that sells x86 CPUs. Even more so than VIA there was no need for an explicit nerf because the company targeted low power/low performance embedded systems; an area that Intel's only recently expressed any interest in.

Mad_Max
Mad_Max
Joined: 2 Jan 10
Posts: 154
Credit: 2,218,807,962
RAC: 518,976

RE: On my Opteron 1210 with

Message 99830 in response to message 99824

Quote:
On my Opteron 1210 with Linux I have completed 4 ABP2 units waiting for validation. The one completed and validated employed 14820.17 s against 11287.53 s on an Intel Quad Q9550 at 2.83 GHz running Server Edition against my 1.80 GHz. I am not doing that bad, I think.
Tullio
Sorry I wrote a figure from an invalid result. The Quad did it in 5878.23. s.

Yeah. that's what I call "not effective"
5-6k seconds per WU on a Core 2 Duo / Quad and 10-15k sec on AMDs
(for "old" Wus with 4-microtask)
But with the GW WUs situation is different - they are slower on Intels (compared with ABP2), and faster on AMDs.
As a result we have some about parity on GW. Although occasionally AMD can even win in same cases/parameter (need to watch the specific pair of processors).

Mike Hewson
Mike Hewson
Moderator
Joined: 1 Dec 05
Posts: 6,591
Credit: 321,170,407
RAC: 411,242

RE: The way intel

Message 99831 in response to message 99829

Quote:
The way intel implemented their checks made ....


You're right, and I get that point. What I clearly don't get is an economy/legal system which requires one company to give any friendly consideration or 'intent' to shareholders of another company. Thus I don't follow the purpose of a commercial context/environment with such a high legislative risk in this aspect. But it's neither my shares nor my country .....

Anyhows : the best C++ compiler I've found for language correctness, learning and features is Greg Comeau's. He converts source to an intermediate code and then invokes a chosen C backend/port ( of which there is a decent spread to choose from ) where further optimisation ( if any ) is done.

Cheers, Mike.

I have made this letter longer than usual because I lack the time to make it shorter ...

... and my other CPU is a Ryzen 5950X :-) Blaise Pascal

DanNeely
DanNeely
Joined: 4 Sep 05
Posts: 1,364
Credit: 3,562,358,667
RAC: 0

RE: RE: The way intel

Message 99832 in response to message 99831

Quote:
Quote:
The way intel implemented their checks made ....

You're right, and I get that point. What I clearly don't get is an economy/legal system which requires one company to give any friendly consideration or 'intent' to shareholders of another company. Thus I don't follow the purpose of a commercial context/environment with such a high legislative risk in this aspect. But it's neither my shares nor my country .....

My opinion is that if Intel wants to engage in heavy handed benchmark padding that makes them look like idiots when they're caught that's their right. My objection was solely to your apparent attempt to apply an implausible sugar coating to the entire affair.

Mike Hewson
Mike Hewson
Moderator
Joined: 1 Dec 05
Posts: 6,591
Credit: 321,170,407
RAC: 411,242

RE: My opinion is that if

Message 99833 in response to message 99832

Quote:
My opinion is that if Intel wants to engage in heavy handed benchmark padding that makes them look like idiots when they're caught that's their right. My objection was solely to your apparent attempt to apply an implausible sugar coating to the entire affair.


What can I say? That sometimes a distant opinion is useful .... :-)

Cheers, Mike.

I have made this letter longer than usual because I lack the time to make it shorter ...

... and my other CPU is a Ryzen 5950X :-) Blaise Pascal

Comment viewing options

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