Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Emner
  • Opret bruger
  • Log ind
Se kommentarer (5)
Emner Udviklingsværktøjer, Pc-processorer

Intels compilere leverer handicappet kode til AMD- og VIA-CPU'er

Intels compiler vælger den laveste fællesnævner for processorer, der ikke er Intels egne. Dermed kører software langsommere på processorer fra AMD og VIA, hvis det compileres med Intels compiler.

Af Jesper Stein Sandal Fredag, 8. januar 2010 - 8:16

Intels compilere er kendt for at være i stand til at lave noget af den hurtigste programkode. Men det kan afhænge kraftigt af, om koden skal køre på en processor fra Intel eller én af chipgigantens konkurrenter.

Intels compilere sørger nemlig for, at et program kun udnytter de nyeste instruktionssæt på Intels egne processorer, mens konkurrenterne AMD og Vias bliver sidestillet med ældre Intel-processorer.

»Intel behandler "med vilje" andre mikroprocessorer på en måde, som nedsætter effektiviteten,« siger Agner Fog, som forsker i processorer og compilere og underviser i datalogi på Ingeniørhøjskolen i Ballerup.

Han og flere andre har tidligere rapporteret problemet som en fejl til Intel, men uden at få svar fra chipgiganten.

Problemet ligger i, at Intels compiler laver to versioner af programkoden. Den ene er optimeret til at udnytte de nyeste instruktionssæt i nye processorer, mens den anden er beregnet til processorer, som ikke understøtter de nye instruktionssæt.

»I og for sig er det ganske legitimt, men koden tjekker også for, om processoren er fra Intel. Hvis den ikke er en Intel-processor, så vælger den versionen til ældre processorer,« forklarer Agner Fog.

Dermed vil et program køre forskelligt på en AMD-processor, selvom processorer understøtter de samme instruktionssæt som den tilsvarende Intel-processor. Det gælder blandt andet instruktionssæt som SSE2 og SSE3.

Det betyder, at eksempelvis benchmarks, som er lavet med Intels compiler, risikerer at give AMD og Vias processorer et dårligere resultat, end processorerne reelt ville være i stand til at levere, hvis instruktionssættene blev udnyttet.

»Hvis Intel havde sagt direkte, at dets compilere kun var til Intel-processorer, så havde det ikke været et problem. Men der er mange, som bruger Intels compilere uden at vide, at compileren putter noget ind i koden, som får den til at køre langsommere på AMD og Via,« siger Agner Fog.

Problemet har ganske vist været diskuteret blandt forskere, som arbejder med compilere, men hverken AMD eller Intel har villet kommentere sagen på grund af den retssag, som de to firmaer indgik forlig om i november 2009.

Af forliget fremgår det, at Intel lover ikke at sætte kunstige begrænsninger over for AMD. Men forliget har ikke været nok til at tilfredsstille de amerikanske myndigheder, som efter forliget har valgt at rejse en ny sag mod Intel.

Intel er tidligere blevet dømt af EU til at betale en bøde på syv milliarder kroner for at have misbrugt dets markedsposition til at holde konkurrenterne ude.

Forligsteksten mellem Intel og AMD indeholder blandt andet en formulering, som skelner mellem, om Intel skader AMD ved en bevidst handling eller ved ikke at handle.

»Det springende punkt er, hvorfor Intels compiler ikke udnytter de nye instruktioner på AMD's processorer. Hvis det er for at få AMD's processorer til at virke inferiøre, er det klart ulovligt, men hvis Intel kan argumentere for, at de ikke har undersøgt, hvilken kode der virker bedst på AMD's processorer, og derfor har valgt arbitrært, så er det ikke. Det vil dog være en noget tynd undskyldning, da det er ret oplagt, at det er bedre at udnytte de nye instruktioner stort set uanset, hvordan de er implementeret,« siger lektor i datalogi Torben Mogensen fra Datalogisk Institut ved Københavns Universitet.

Agner Fog har på sin blog beskrevet, hvordan man kan tilpasse sin programkode, så man kan få den færdige kode til at bruge de nye instruktionssæt på AMD og Vias processorer, selvom koden oversættes med Intels compiler.

Der findes flere alternativer til Intels compilere, men især til Windows findes der ifølge Agner Fog ingen af de nuværende compilere, der fremstiller lige så hurtig kode som Intels.

Send Tweet
Udskriv

IT-job & karriere

  • Se alle it-job
  • Importer din kompetenceprofil fra LinkedIn
Skarp C#-udvikler søges til fast stilling i spændende virksomhed i Østjylland
Udgivet 8. feb 9.17
SAP PP Senior-konsulent
Udgivet 8. feb 8.56
MOSS Arkitekt
Udgivet 23. nov 2011 13.24
Forretningskonsulent
Udgivet 27. jan 10.11

Kommentarer (5)

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Thorbjørn Andersen 8. jan. 2010 - 12.23
 
Godt med lidt uddybning!

Før har det før været lidt uklart hvordan Intel kunne 'snyde rigtigt' (især hvis der var brug af samme instruktioner), men det er så ikke tilfældet
(så situationen er egentligt også som jeg forventede, da det ikke kunne gå op på andre måder ... )

Desværre ses det ofte at store firmaer bruger deres størrelse til at konkurrere med markedforvridende metoder. Det er ikke spor sundt for konkurrencen. Intel er vidst langt fra de eneste ...

Blogen lader i øvrigt til at være god.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Torsten Holtse 8. jan. 2010 - 20.35
 
Ny bøde, tak!

Der må være belæg for en bøde til i millardklassen. At kategorisere en CPU som "gammel" baseret udelukkende på producenten må siges at være en aktiv underminering af konkurrenterne. På den anden side kan man vel sige, at når det er Intel, der laver compileren så er det vel heller ikke et krav, at de kun er optimeret til egne CPU'er. Det bør bare fremgå klart og tydeligt :-)

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jesper Poulsen 9. jan. 2010 - 04.59
 
Re: Ny bøde, tak!

"er Intel, der laver compileren så er det vel heller ikke et krav, at de kun er optimeret til egne CPU'er. Det bør bare fremgå klart og tydeligt :-)"

Nu er der jo forskel på at undlade at optimere og så direkte at forhindre support af den teknologi der allerede er implementeret i hardwaren.

Som flere er inde på (via Agners blog og deraf links), så kører den Intel-optimerede kode problemfrit på en AMD-CPU, hvis man hacker programmet til at tro at der er tale om en Intel-CPU. Intel bruger bevidst tid og penge på at få AMD's CPU'er til at se markant dårligere ud end Intels. Intel bruger netop resultaterne af deres C-compiler i bla. marketingssammenhæng.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Mikkel Ørum Skovgaard-Petersen 10. jan. 2010 - 21.02
 

Findes der nogle sammenligninger af hvor meget det har hæmmet AMD-CPU'er? Jeg synes det kunne være interessant at vide hvor meget det rent faktisk kan betyde.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Thorbjørn Andersen 10. jan. 2010 - 21.38
 
Hvor meget kan det betyde

Tja. Når man tilføjer nye instruktioner er det vel typisk fordi man mener, at de kan løse nogle opgaver signifikant hurtigere ...

Som jeg skrev før var bloggen faktisk god. Ved at læse lidt på blogen og følge links er der et eksempel hvor noget kunne laves ca. 4x hurtigere ...

http://yro.slashdot.org/comments.pl?sid=155593&cid=13042922

Og et eksemel fra den virkelige verden (med ikke helt så stor forskel...)

http://arstechnica.com/hardware/reviews/2008/07/atom-nano-review.ars/6

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer

Tilføj kommentar

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Log ind herunder eller opret en bruger for at skrive kommentarer
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?

Seneste nyt

Teknologirådet reddet: Fortsætter i ændret konstruktion

Udgivet 10. feb 11.32Opdateret 10. feb 11.32

Version2 tester: Her kan du fare vild i Windows 8

Udgivet 10. feb 10.44Opdateret 10. feb 11.04

Rygte: Google snart klar med Dropbox-konkurrent

Udgivet 10. feb 10.19Opdateret 10. feb 10.19

Ny blog stiller skarpt på juraen i it-kontrakter

Udgivet 10. feb 10.00Opdateret 10. feb 10.15

Windows 8 Consumer Preview klar til download 29. februar

Udgivet 10. feb 9.49Opdateret 10. feb 10.24
Flere it-nyheder »
Få it-nyheder og blogs hver dag med Version2's nyhedsbrev.

Seneste debat

  1. Er it-skandalerne kontrakternes skyld?

    3 comments.
    Last update 3 minutter 16 sekunder
    Skrevet af Johnnie Hougaard Nielsen
  2. ACTA er i orden!

    52 comments.
    Last update 4 minutter 58 sekunder
    Skrevet af Mads Randstoft
  3. Stop SOPA, PIPA, ACTA, TPP og alle dem der kommer efter

    54 comments.
    Last update 7 minutter 17 sekunder
    Skrevet af Jarle Knudsen
  4. Konklusion af Polsag-review fra 2009: Elendig kode hånd i hånd med elendig kontrakt

    13 comments.
    Last update 7 minutter 24 sekunder
    Skrevet af Jimmy Frydkær Dürr
  5. Microsoft frigiver Android-version af OneNote

    7 comments.
    Last update 50 minutter 42 sekunder
    Skrevet af Thomas Bundgaard
  6. Derfor bliver dårlige it-projekter ikke stoppet i tide

    3 comments.
    Last update 1 time 3 minutter
    Skrevet af Kasper Jørgensen
  7. 4 gode sikkerhedsråd: Sådan gør du firma-pc'en vinterferieklar

    5 comments.
    Last update 1 time 16 minutter
    Skrevet af Thomas Vestergaard
  8. XBMC på fit-PC3

    19 comments.
    Last update 1 time 18 minutter
    Skrevet af John Knuhtsen
Mere debat »

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Android
  • Bruttolønsordning
  • Business Intelligence
  • Cloud computing
  • Digitaliseringsstyrelsen
  • HTML5
  • Harddisk-priser
  • IE9
  • Intranet
  • It-sikkerhed
  • Kindle Fire
  • Multimedieskat
  • NemID
  • OS X Lion
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu 11.10
  • Virtualisering
  • Windows 8
  • Windows Phone 7
  • iOS 5
  • iPhone 4S

Tjenester

  • Android-app
  • iPhone-app
  • RSS-feeds
Følg @version2dk
Få it-nyheder og blogs hver dag med Version2's nyhedsbrev.

Version2 udgives af

  • Mediehuset Ingeniøren A/S work Skelbækgade 4 1717 København V
  • Tlf. work 33265300