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.
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
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.
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:
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.
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).
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
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.
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
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.
If the application compiled
)
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
RE: If the application
)
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)
RE: If the application
)
Naughty Intel? Hardly. This Agner guy asserts :
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
RE: RE: If the
)
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
RE: Where's he been? Or
)
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:
What Intel actually wrote (and could be trivially confirmed by changing the string checked in CPU.IsAMD()) was something like this:
The IsAMD function was implemented similar to this:
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.
RE: On my Opteron 1210 with
)
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).
RE: The way intel
)
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
RE: RE: The way intel
)
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.
RE: My opinion is that if
)
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