Linked by Thom Holwerda on Sun 3rd Jan 2010 20:32 UTC
General Development Here's something you probably don't know, but really should - especially if you're a programmer, and especially especially if you're using Intel's compiler. It's a fact that's not widely known, but Intel's compiler deliberately and knowingly cripples performance for non-Intel (AMD/VIA) processors.
Thread beginning with comment 402280
To read all comments associated with this story, please click here.
Sabotage that spread like a virus.
by dulac on Sun 3rd Jan 2010 22:54 UTC
Member since:

Small thoughts...

On the argument that the compiler is Intel specific:
- Just an excuse... Actually we are talking of a compiler from which code will be used in OTHER compilers. Not a CPU, and the compiler will NOT work as expected nor advertised.
- Stating that it is JUST for Intel CPUs is to accept the accusation of MONOPOLY practice and CARTEL-like practices where the compiler is used in association with CPU to achieve unfair advantage. It is called sabotage in any dictionary.

On the argument that "don't like it, don't use it":
- Just looking the other way, as code spread like a virus, without anyone except the first users to know what was used in the first place. Not even so... as the majority doesn't have a clue of what is going on.
- Again, the terminology to be used is sabotage... and that is not excused, nor justified by a little note posted "just-in-case" the "trick" is found. No crime is justifiable by "just following orders" nor "I warned you". Specially in a virus like spread of such code in libraries, tools, objects.
- The total ignorance of what is hidden under the statement "optimized just for Intel" has now a different meaning. And the different meaning is a revelation of what is under the sheets. Not an excuse, but an evidence of motive, intention and action.

1 - Let nobody states that a warning is fair, when no REAL information is stated to the statement to be understood. Just a legal precaution to commit a crime with impunity.
2 - Let nobody state that you have a choice when no choice is given, as reality is hidden with intention, away from a compilers expectations, and Misinformation is the game. Results have a viral spread.
3 - We have victims, motivation, and actions. These cannot be erased, whatever the statements to disguise facts. And facts are a the fees for courts, not sweet-talk (or at least they should).
4 - Legal actions are much away from the justice concept as delaying is a battle tool... as is misinformation... pseudo-statements to the future...

This is my honest interpretation. Is there another?
"it was in front of them but they could not see it"

Reply Score: 4

Scali Member since:

Problem with accusations related to monopoly is that the compiler is a piece of software (and sold separately from CPUs). Intel may have a huge marketshare in the hardware market, but the Intel compiler doesn't have a big marketshare. Microsoft is the biggest player there, and gcc is second.

The Intel Compiler is just a commercial product. Since anti-trust laws won't apply, it is indeed down to the old 'voting with your wallet'. If you don't like it, don't use it.

While I don't approve of Intel's approach here, I think it would be a huge loss for the free market in general if Intel were forced by any organization to modify their product. It would create case-law with repercussions that I don't even dare to think about.

Reply Parent Score: 1

dulac Member since:

Sorry by some glitches in the text but was very late and the edit window is very small. Being unable to edit after posting, glitches become permanent.

Naturally your point is clear, from the legal point.
However (and this was not clear) when using the word "crime", a strong word with a broad range, the meaning was the original. Not the interpretation that is becoming current. I refer to confusing crime with something that is illegal.

Everyone knows that crimes existed BEFORE laws. Maybe do not notice that crime is an ethical evaluation. Legalities only come very late. That is why the connection is very loose and some "laws" allow crimes and some forbid (or "criminalize" what is no crime at all).

The perspectives stated, also depend on another concept. The one of passive crime as complement to the the usually active that anyone understands. I believe its called "crime by omission"... or something like that. An example: Seeing somebody dying and just walk away when one could have saved a life.

This was an extreme example, but shows the obligations any citizen has towards to society. The same is applied to economics as the only justification for a corporation to exist (and profit from society) is to be useful to society. Nothing less, in the ethical point of view that should be the base for laws and it's enforcement.

A corporation is a virtual citizen, not a king.
And only while it is useful to accept it as such. Not by right... but by allowance. Even if that is forgotten, it is still true... and to be reminded.

Anyway, la enforcement has a double problem, and bigger one is that law is quite linear in a world that is not linear, but complex. Where perspective is more important that justifications.

Take ecology for example. And that applies to every situation in society. Laws cannot, EVER, command every possible situation. And that is the genesis of trouble when the wordings become more important than the reasons for laws to exist.

You where very clear and precise in your comment, unlike mine. I thank you for that.

It was also missing the mention to the common practice of ACTIVELY forbid developers to do what they are doing, or could do very naturally. And even worse. We have seen many "internal memos" proving that is a common practice.

That gives a long range of opportunities when a compiler chooses what routines to use depending from what CPU is present. If it a PASSIVE way to get a "result" or an ACTIVE one... The common practice gives us a clue of what is more likely.

Anyway, laws become a maze were justice is lost.
So fairness is more important than ever.
And I guess that you feel the same.

What really chocks me is the respect a compiler has for it's knowledge of hidden internals... and then that respect and confidence being (actively or passively) used to get unfair results.

To me, it does not matter if it passes bellow the legal sieve. The reasons for laws to exist are more important. And that were fairness lies. Specially when a tool is respected, used... and present in libraries used by third parties... with confidence... and unexpected implications on others.

It's all a question of perspective. Not words, justifications or laws. Laws should follow their goals, not the reverse. That is what they are for... or should.

And thanks, again, for pinpointing the more practical side. Regards.

P.S. - Sorry to have been a bit long. And hope not to have any glitches this time.
As, again, it is late, and need to rest.

Reply Parent Score: 1

tylerdurden Member since:

More than an "interpretation" I'd consider your post an ode to logical dissonance?

Do you even know what a compiler does? The difference between ISA and microarchitecture?

Furthermore, have any of you even used ICC... and if doing so, a real purchased and supported copy of ICC (not just one of them copies which fell off the internet?). Did you realize no where in the contract does Intel claim to produce optimized code for non intel microarchitectures?

Basically intel just promises that in exchange for buying ICC, they guarantee ICC will produce highly optimized code for their processors. If you want to build an application, and are using ICC, you are aware of that. Maybe it is a douche move by intel, I don't know... but that is not the point.

Next thing, we'll hear how evil Apple is because they did not optimize OSX for your AMD hackintosh.

ICC is a tool, and it does exactly what it claims to do: produce very optimized scheduling for intel microarchitectures. Trying to blame intel for not supporting competitor's products simply because you didn't bother to learn about the tool, or feel a level of entitlement... is a tad disingenuous.

Edited 2010-01-03 23:23 UTC

Reply Parent Score: 0