L’eterna rivalità tra AMD e Intel è destinata a non cessare mai (tutt’al più avrà in ARM un nuovo competitor) e su questo penso che si possa essere tutti d’accordo: i problemi reali – almeno per gli utenti – subentrano quando nella disputa si superano i limiti della lecita concorrenza. A sancire il travalicamento di questi ultimi è stato un tribunale, che ha condannato Intel a risarcire AMD.
Si parla di $1,25 miliardi: una cifra spaventosa, ma che può avere diverse giustificazioni. Quella che per noi può avere più significato riguarda il crippling delle CPU di AMD attraverso i compilatori proprietari di Intel: in sostanza, se il compiler riconosce che è in uso un processore AMD “castra” le ottimizzazioni risultando il 47% meno efficiente rispetto alla medesima operazione su CPU Intel.
Un aspetto tanto più preoccupante se si considera il fatto che Intel è interessata allo sviluppo di GCC — l’unica alternativa libera per determinati linguaggi, mentre alcuni non possono (ancora?) giovare neppure di questo. È molto probabile che ulteriori sviluppi della vicenda giudiziaria obblighino Intel a rimuovere i limiti esistenti
Foto | Download Squad
sirus
05 gen 2010 - 10:41 - #1Sulla vicenda che coinvolge il compilatore Intel io ci andrei piano. Secondo me Intel ha tutto il diritto di rilasciare un compilatore specifico per i suoi processori, sta agli sviluppatori decidere se penalizzare o meno i processori AMD è un problema.
Inoltre, nessuno vieta ad AMD di rilasciare un suo compilatore oppure lavorare sulle alternative libere come il GCC.
stufo
05 gen 2010 - 11:06 - #2@sirius
un conto e’ avere delle ottimizzazioni che ottimizzano l’eseguibile sulle mie cpu (inte), un altro conto e’ sviluppare appositamente delle non-ottimizzazioni per metterlo nel culo alla cpu del mio concorrente (AMD).
Ed e per questo che, stando a cio che dice l’articolo, intel e’ stata condannata.
Al3xMegalab
05 gen 2010 - 11:11 - #3@sirus
faccio una ipotesi: non sarà che per caso la legislazione americana tutela in primis i consumatori? In fondo tali comportamenti, oltre a portare vantaggi a chi li mette in pratica, danneggiano indirettamente anche l’utenza e forse il modo in cui il legislatore americano considera la questione parte da presupposti diversi dai nostri.
Fabiooo
05 gen 2010 - 11:40 - #4Per quanto possa dire la sentenza, in fondo sirius non ha torto.
Giusto che AMD spenda per andare nei tribunali, ma perché non spende per svilupparsi un ottimo compilatore(come sembra essere quello Intel taroccamenti a parte) anziché piangere?
Non esistono solo i compilatori Intel, ma altri(sia free che a pagamento), e sembra giusto che Intel supporti i propri prodotti. Certo questa “dis-ottimizzazione” sa di porcheria, ma un conto è fare accordi illeciti per “aggirare” il mercato libero, altro sviluppare dei PROPRI prodotti sw per favorire i PROPRI prodotti hw.
Conad il Rabarbaro
05 gen 2010 - 12:00 - #5$1,25 miliardi, non saprei nemmeno da dove cominciare a spenderli… mi compro un super computer per giocare a X3 TC… :-)
A parte gli scherzi, mi viene il dubbio che Adobe Flash Player per linux sia compilato con il compilatore di Intel e non con il Gcc. Infatti sulla mia workstation AMD ha performace da schifo.
frankhinrg
05 gen 2010 - 12:51 - #6A quindi da oggi, nei vari beanchmark tra cpu Intel e AMD sarà bene precisare anche con quali compilatori è stato compilato il programma in uso :)
_invernomuto_
05 gen 2010 - 14:32 - #7Anch’io mi schiero decisamente con sirus.
Basta che Intel renda noto il calo prestazionale del codice prodotto dal suo compilatore su altre cpu e non capisco dove sia il problema. Sarà poi lo sviluppatore/software house che decide se utilizzare o meno il compilatore di intel piuttosto che altre soluzioni. Grave sarebbe se Intel stessa forzasse GNU ad introdurre il crippling per processori diversi da quello Intel in GCC, ma questo credo che sia assolutamente impossibile.
Al3xMegalab
05 gen 2010 - 15:01 - #8è una situazione controversa, è giusto che una azienda tiri l’acqua al proprio mulino ma qui siamo al limite del sabotaggio. Che litighino tra loro, la cosa ci sta tutta, ma perché dovrebbero andarci di mezzo gli acquirenti?
Ripeto, i primi ad essere danneggiati sono gli utenti e personalmente trovo giusta la sentenza in sé.
Mi chiedo ora (senza polemica ma per sincera curiosità): se AMD, per mettersi al riparo da tiri del genere, dovesse decidere di produrre in proprio un compilatore, che ripercussioni ci sarebbero per l’utenza finale? Non cambierebbe nulla oppure ci troveremmo di fronte a versioni differenti dei programmi più comuni in base alla CPU in nostro possesso?
sirus
05 gen 2010 - 15:16 - #9@stufo
Un momento, il compilatore Intel non genera codice peggiore per le CPU AMD.
Più semplicemente, l’eseguibile che viene generato contiene più codepath, supponiamo siano quello x86 standard e quelli ottimizzati per sfruttare le istruzioni vettoriali SSEx/AVX.
Ora, i processori Intel fanno uso dei codepath ottimizzati mentre i processori AMD vengono “rediretti” sul codepath generico, non c’è nessuna contro ottimizzazione, semplicemente non esistono ottimizzazioni sul codepath generico x86.
Supponendo anche la presenza di codepath strettamente ottimizzati per un certo tipo di processore, supponiamo il Core 2 (con istruzioni vettoriali annesse), “redirigere” un processore AMD su quel codepath potrebbe anche essere controproducente perché non è assolutamente scontato che le ottimizzazioni per i Core 2 siano tali anche per i Phenom.
PS: forse utilizzare Core 2 e Phenom non è l’esempio ideale, se però torniamo indietro di qualche anno e prendiamo Pentium 4 ed Athlon 64 è verosimile che le ottimizzazioni per il Pentium 4 (architettura che sappiamo avere qualche problema di efficienza) fossero persino controproducenti per gli Athlon 64.
Detto questo, dal mio punto di vista la causa intentata da AMD per concorrenza sleale dovuta ai prezzi applicati da Intel ed agli “sconti” inverosimili è più che corretta, d’altro canto, la sezione della causa riguardante il compilatore Intel non ha, a mio modo di vedere, senso di esistere.
sirus
05 gen 2010 - 15:20 - #10@Al3xMegalab
Molto dipende anche dagli sviluppatori, se uno sviluppatore decide di usare il compilatore Intel sicuramente avrà dei validi motivi e si assumerà anche tutte le responsabilità che questo comporta, nessuna ottimizzazione per i processori AMD.
Ricordiamoci che nessuno obbliga uno sviluppatore ad utilizzare un certo compilatore, utilizzando il GCC, standard di fatto per i sistemi GNU/Linux e Mac OS X, oppure i compilatori Microsoft (immagino molto diffusi in ambiente Windows) il problema per il consumatore non sussiste. Immagino che il compilatore Intel non sia poi molto diffuso.
Al3xMegalab
05 gen 2010 - 18:56 - #11@Sirius
avrai capito che non sono un programmatore per cui mi chiedevo appunto, beghe dei giganti a parte, se ci avremmo rimesso in qualche modo noi che acquistiamo i loro prodotti
oscar rafone
06 gen 2010 - 01:56 - #12A me risulta che lo stesso binario compilato con ICC sia più lento se gira sotto AMD e molto più lento se gira su VIA rispetto ad Intel.
Ovviamente a parità di istruzioni supportate.
Cioè Intel penalizza i concorrenti attraverso il suo compilatore ma NON lo dichiara.
Certamente Intel può fare quello che vuole, ma se dichiarasse esplicitamente che le altre cpu andranno da schifo chi diavolo lo userebbe? E quindi Intel non potrebbe più danneggiare gli altri concorrenti (di cpu) con un sotterfugio.
Col cavolo che compro ancora cpu Intel :-)
thelostone
06 gen 2010 - 06:08 - #13La sentenza è palesemente giusta.
Informo tutti i paladini delle cause altrui che anche AMD ha un proprio compilatore, o quanto meno ne supporta uno con un proprio fork, e non usa questi mezzucci.
http://developer.amd.com/cpu/open64/Pages/default.aspx
Che qualcuno mi spieghi perchè guardate la vicenda dal punto di vista della Intel (che così guadagna) e non dal vostro (che così ve la prendete in cùlo).
Fabiooo
06 gen 2010 - 11:26 - #14#13 : perché è un pò come la sentenza Briatore : non è uno stinco(cfr. wikipedia), e per il bene della F1 meglio se ne stia lontano dallo sport, ma le sentenze non possono essere assurde(vedi quella bocciata).
Se AMD ha il suo compilatore, lo usi senza cercare assurdità(ovvio la sentenza sia giusta se l’ha fatta un tribunale).
Io, per citarti, me lo “prenderei in cùlo” se non potessi acquistare hw AMD, e fossi obbligato a prendere Intel.
Ma sono libero di acquistare hw Intel come AMD(o nVidia come ATI per fare il parallelo), e ognuno deve fare del suo meglio per convincermi.
mondonauta
06 gen 2010 - 14:03 - #15@ Fabiooo:
scusa, ma il tuo ragionamento non mi sembra che abbia molto senso: per prima cosa è vero che tu sei libero di comprare un prodotto intel o AMD, ma visto che in una società capitalista (e nn solo in quella) i soldi fanno la differenza, se a parità di prezzo tu hai un prodotto che ha prestazioni inferiori certamente quello non lo comprerai mai! faccio anche presente che la concorrenza leale a differenza di quella sleale si basa sul miglioramento del proprio prodotto e non sulla “gambizzazione” dei prodotti avversari. perciò mi sembra evidente che un conto è se intel avesse prodotto un processore migliore della controparte AMD, un altro è se intel volutamente affossa la concorrenza senza un reale miglioramento del prodotto offerto!
Fabiooo
06 gen 2010 - 17:29 - #16Ma Intel, che ripeto fa una cosa un pò sporca, non vieta di usare compilatori AMD.
Il compilatore AMD fa la stessa schifezza? ovviamente no… e perché non usano quello gli sviluppatori?
Certo Intel non brilla con un comportamento del genere, ma in fondo supporta i suoi processori coi suoi compilatori.
AMD non è una casa sconosciuta, sarebbe ora che provasse a vincere la sfida sul piano del miglior prodotto; se è per questo anche molti giochi XBOX360(es : Bayonetta) hanno versioni PS3 peggiori, benché le due macchina si equivalgano.
oscar rafone
06 gen 2010 - 18:54 - #17@Fabiooo
mi sembra continui a sfuggirti un “dettaglio”: Intel NON dichiara che i binari compilati con ICC saranno penalizzati se girano su cpu non-Intel.
L’hardware non c’entra, è un problema di software e di correttezza verso gli sviluppatori.
Pensaci e poi dimmi se compilerai mai qualcosa con ICC ;-)
lucapas
07 gen 2010 - 11:21 - #18Quoto oscar rafone #17
Comportamento molto sleale da parte di Intel e spero che nessuno più usi ICC per compilare anzi, spero diventi obbligatoria l’apertura dei sorgenti così sti giochetti non potranno più esistere … ok, pura utopia ma lasciatemi sognare un po’! :-D
waccos
13 gen 2010 - 10:52 - #19bisogna vedere in che modo le software house decidono di utilizzare icc. Se lo fanno liberamente, allora ok, ma se Intel le “unge” un pochino, allora è giusto condannarla.