AMD FX "Bulldozer" – dagen efter

Permalänk
Datavetare
Skrivet av klk:

Det är något annat, så fort cache uppdateras så tar den XX antal byte. Kallas för "cache line" eller "cache block". Läser programmet in en byte från adress 100 så uppdateras cachen inte med en enstaka byte utan då 64 byte om cpu's "cache line" är 64 byte

Rätt vanligt att programmerare tänker på det när de lägger data i olika objekt. Lägger man de vanligaste medlemsvariablerna övers i ett objekt snabbar det upp koden då de laddas "gratis", alltså de åker med i farten

Om du har en "write-through" cache L1 så måste VARJE byte även skrivas till L2, inte enbart hela cache-lines. Det jag försökte säga är att BD har en form av kö mellan L1D och L2 som rent implementationsmässigt består i en buffer som delas mellan båda kärnorna. I denna buffer kan man spara upp till en hel cache-line innan det faktiskt skrivs till L2.

Och sedan jobbar jag med att skriva multicore optimerad programvara, så har lite koll på detta. Som tips bör du inte använda ditt eget tips ovan då det ganska lätt leder till "false sharing". Du ska i stället dela upp dina variabler i "read-only/mostly" och de som är "read/write". De som är "read-only/mostly" ska INTE ligga på samma cache-line som ditt lås (mutex/spinlock) eller någon annan variabel som du tänker skriva i då detta triggar trafik över bussen för MESI protokollet. Det verkar som AMDs val av "write-through" cache är just p.g.a. av att de vill slippa implementar MESI för L1D cachen, vilket inte behövs om man vet att L2 alltid innehåller samma sak och L2 delas mellan kärnorna. Däremot måste man använda MESI mellan L2 på olika moduler.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Luxor ABC80:

Klart att AMD officiellt håller fast vid sin road map. Allt annat vore att öppet erkänna att första versionen av BD är ett misslyckande. Det kommer de aldrig att göra. Om 5-10 år kommer det att heta den var "före sin tid" och det var "mjukvaran (windows) som inte kunde hantera den advancerade strukturen". Jag minnes Intels kommentarer när Itanium släpptes och blev sågad jämnse fotknölarna. Klart att de visste att de hade problem. Varför tror ni att BD blev försenad ? Fermi var blev rejält försenad och underpresterade i förhållande till hårdvaran (antalet transistorer) och var ett ström monster. Men ett år senare var det ett annat ljud i skällan. Min undran är varför de inte sköt upp lanseringen. De kunde ha tagit fram en Phenom 3 för att överbrygga gapet. Dvs PhII till 32nm, ökat cash minnet och slängt in 2 kärnor till på toppmodellen. Om de hade börjat med det i låt oss säga feb-mars så skulle de ha varit klara till sept. Phenom arkitekturen var välbeprövad. Mao gjort som Intel gjorde med Pentium D. Man låg efter i tid med core utvecklingen och var pressade av sina storkunder (dell farmför allt)att ta fram något som kunde matcha AMDs X2 CPUer. Lösning: en "gammal" P4 med dubbla kärnor. Visst, man gick inte förbi AMD, men gapet minskade och Intel köpte sig tid.
Nä, hur man än ser på det så har AMD gjort en jätte blunder. Sen kan man alltid hitta ställen där BD kan matcha 2600K/2500K men generellt så är man bra bit efter. Mao Klantigt.

Har hört många säga nu att man borde "bryggat gapet" med en Phenom III. Som om det vore en smal sak. Det skulle naturligtvis kräva stora resurser för att föra lyckas med detta, och väldigt snabbt är man inne i samma återvändsgränd igen och behöver en helt ny arkitektur. Tror inte AMD har råd att utveckla två stora projekt samtidigt.. dessutom ska det sättas i produktion hos GF som redan är överbelamrade.. Nä, det verkar inte vara en bättre ide med Phenom III än Bulldozer

Permalänk
Medlem
Skrivet av Yoshman:

Om du har en "write-through" cache L1 så måste VARJE byte även skrivas till L2, inte enbart hela cache-lines. Det jag försökte säga är att BD har en form av kö mellan L1D och L2 som rent implementationsmässigt består i en buffer som delas mellan båda kärnorna. I denna buffer kan man spara upp till en hel cache-line innan det faktiskt skrivs till L2.

Enligt prestandamätningar (om de stämmer) så verkar det just att denna kö inte fungerar

Skrivet av Yoshman:

Och sedan jobbar jag med att skriva multicore optimerad programvara, så har lite koll på detta.

Du är inte unik med det..
Att designa en cache utan kö när det gäller skrivningar begriper vem som helst som sysslar med med trådad programmering att det är riktigt korkat eftersom det är något alla som trådar upp kod undviker. Varje tråd håller sin egen "state" och så fort två trådar skriver till samma minnesadress behöver synkroniseras.
Att designa cache efter att direkt uppdatera L2 för skrivningar till L1, så dumma kan inte ingenjörer på AMD vara.

Permalänk
Skrivet av Mooter:

Har hört många säga nu att man borde "bryggat gapet" med en Phenom III. Som om det vore en smal sak. Det skulle naturligtvis kräva stora resurser för att föra lyckas med detta, och väldigt snabbt är man inne i samma återvändsgränd igen och behöver en helt ny arkitektur. Tror inte AMD har råd att utveckla två stora projekt samtidigt.. dessutom ska det sättas i produktion hos GF som redan är överbelamrade.. Nä, det verkar inte vara en bättre ide med Phenom III än Bulldozer

En Phenom skulle inte ha varit ett "stort" projekt. Visst att krympa arkitekturer 32 nm skulle ha krävt en insats. Men man hade arbetat med en välkänd kärna och som man visste allt om. Att ta fram en helt ny kärna, ett nytt cashminne mm är ett mycket större projekt. Med mindre medel så skulle man ha köpt sig tid. Tid att få ordning på Bulldozer. Visst, man skull ha fått en del kritik för gammal skåpmat men det skulle ha varit en liten bris mot den storm som Bulldozer fiaskot har orsakat.
Tänk Pentium D. Istället för att släppa ut en ofärdig CPU så tog Intel "gamla" P4 och dubblade antalet kärnor. Folk gnällde lite på att den var för gammal och för mycket strömförbrukning men den köpte tid. Sedan kom Core och allt var glömt.

Visa signatur

Varje svensk medborgare borde ha minst 3 PC/pers där hemma !

Permalänk
Medlem
Skrivet av Tomhas:

Jamen vad än den höga strömförbrukningen (som bara är högre vid klockning) är så dåligt? Vist den slår inte SB på fingrarna ÄN. Finns som sagt gott om potential Haha jag vet men länkade bara pga bilden

Hoppas att min H100 & AX1200w klarar värmefebern då:)

Visa signatur

AMD_PERAs Dator Galleri
Jag har försöker att hitta bra delar billigt: AMD, ASUS, MSI, Fractal Design, Corsair, Zalman, Noctua, Kingston, Seasonic, WesternDigital, Sapphire mfl.
Skitbra -sa Bill, Brakskit -sa Bull...
Det blir nog bra när det blir färdigt...Nu slipper jag intel, när RYZEN har kommit...

Permalänk
Medlem

tur man inte är en extremist

Har aldrig förordat det ena märket över det andra, bara tyckt synd om "2:an"(ett undantag dock*) och köpt den som för tillfället har den bästa allround och lättklockade produkten =o) Väldigt länge var det AMD.
Nu har dock AMD "halkat efter" i typ 5 års tid! verkar dessvärre som dom har brist på pengar, tid, resurser och idéer, känns väldigt hopplöst för AMD, och alla kunder vill nog se lite mer konkurrens!

* När intel hängde KVAR på RAMBUS, mot allt sunt förnuft, så hade jag dock nästan hatiska känslor, hur fanken kunde dom vara så korkade! Rambus + P3 = katastrof, Rambus + P4 = katastrof ergo: Rambus var en katastrof.

Visa signatur

Det hemska med att bli klokare är att man tyvärr inser hur lite man egentligen vet!
Everything good in life is about nitrous compounds. I mean: liquid nitrogen-Fun with CPUs! Nitromethane-Gets 5000HP from 8 litre engine! Nitrous oxide-A laughing matter! Btw, 78% of the atosphere contains pure nitrogen!!! That's probably why you are smiling now!

Permalänk
Avstängd
Permalänk
Medlem

Detta ger iaf coirsair den stora möjligheten att lansera världens första Nätagg på 11KW som klarar överklockade processorer + gPuer!

Visa signatur

ASUS P57P55D-E, INTEL CORE I5 750 @ 4013MHz, Corsair Dominator XMP @ 1950MHz, OCZ Stealthxstream 700W, SAPPHIRE HD 4870 512 MB, 2TB HDD, Noctua NH D-14, NZXT GAMMA, NZXT SENTRY LX, ANTEC VERIS PREMIUM, SIDEWINDER X4, RAZER KRAIT.

Permalänk
Skrivet av xfmimd:

Intel första Dual core sög, hade samma bandbred som Netburst var byggd på Netburst blev riktigt varma klockade som skit och var jävligt instabila o ja juste IPCn sög

Pentium D hette den... hade ett pat sånna, bytade moderkort, minnen cpuer och till och med olika nätaggregat men jag fick aldrig dom stabila.

Core 2 Duo var mycket bättre

D805a är nog en av de sämre Intel proppar man ägt. Lite så att man uppskattade någon Celeron på 600-800mhz .
805an var redigt sugig. Visst inga problem att dra runt 1-1,5Ghz klock utan vidare och ändå ha den 'stabil' men den trottlade satan även vid org och kändes alltid slö.

Visa signatur

I am Extrazz.

Permalänk
Medlem

AMD trodde helt enkelt det kunde lura konsumenterna att det är bättre med 8 kärnor än intel 4 kärnor för samma pris

Visa signatur

Gigabyte GA-X99-UD7,Intel 5820k, 32Gb DDR4 3000Mhz, Sapphire R9 290 4Gb Tri-x Crossfire x3, Samsung 850pro 1Tb, EVGA Supernova 1300w G2

Permalänk
Skrivet av Gender Bender:

Den enda anledningen som jag ser till att skaffa Bulldoser är om man redan sitter på ett kompatibelt moderkort

Bulldoser är bra men Intäl är bättre...

Permalänk
Skrivet av AndreaX:

vilket som är bäst beror på användandet i det här fallet.

för en absolut majoritet av användare så kommer processorn att kosta kanske 2-3-4 grr mer än moderkortet, alltså är det vettigt ur den synpunkten att lägga mekaniskt bräckliga delar där det kostar minst om det går fel. Intel vinner.

Nej Nej Nej. Dom flesta användare lägger inte 2-3 lax på processorn när dom köper dator, tänk om tänk rätt.

Permalänk
Medlem
Skrivet av Fysman:

"Gaah AMD kommer gå i konkurs!!, BD suger blabla". Entusiast-marknaden är hur stor? 5-10%? Tror detta bara kommer betraktas som ett mindre bakslag hos AMD. Sen att dom börjar köra massa fulspel är ju mindre kul. BD är ingen dålig processor, men i nuläget är den inte tillräckligt mycket bättre än en PII x6 1100T för att vara köpvärd.
Anledningen till att man kör AMD är att dom oftast är billiga för prestandan och att moderkorten står sej mer än 1 år

Du har inte tänkt på att varje modul är mycket sämre än t.ex. en kärna från Core i3? När AMD släpper "4-kärniga" och "2-kärniga" uppföljare till Llano så kommer dessa ha värdelös prestanda och dra så mycket ström att ingen OEM vill köpa in den. Bulldozer-modulerna var AMDs hela framtid som skulle användas i alla segment och det är ytterst sannolikt att även nästa generation av väldigt strömsnåla processorer skulle baseras på något bulldozer-derivat.

Hur ska AMD basera alla sina X86 processorer på en plattform som helt enkelt inte håller måttet och är jättedyr att tillverka?

Visa signatur

Core i5 2500K@4Ghz, 8 Gb Kingston Hyper X 1600 DDR3, MSI Z68-GD55, OCZ Vertex 4, Asus GTX670 DC2, Corsair VX 450.
Kyld av Hyper 212 Plus Evo: Corsair SP120 Quiet PWM, 3 Nexus Real Silent 120 mm @ 7V.

Permalänk
Medlem

virtual_void: En Niagara-cpu (som T3) har inte 8 st fulla front-ends med logik för allt med sina 8 st kärnor av både ALU/AGU + FPU/SIMD exekveringsenheter på deras 128-trådiga cpu. Det är inte så det fungerar, på T1 hade du ju 8 kärnor med ALU/AGU och en flyttalsdel, 4-trådar per heltalsenhet, och då alltså bara en helt komplett front-end för hela processorn. Vad du kallar kärna har väl snarare med hur pipeline och körning av instruktioner sker. En heltalsberäkningsenhet har ju bara en uppsättning L1-cache men har för det mesta flera uppsättningar heltalsblock av aritmetik och adressgenerering. Hade du dessutom gått på det spåret och delat resurserna på riktigt på mer samma sätt, så hade du med CMT på desktop-Bulldozer fortfarande inte fått någon prestanda i dugliga termer, du hade ju istället kört 4 st trådar på en modul t ex, fördelen har väl varit om du kunde mata den delade FPUn snabbare. I Niagara har alltså hela processorn delade resurser. På sitt sätt. T2 och T3 har fler ALUs per kärna än T1, som de kallar för hela heltalsenheter då med delad LSU för att klara extra heltsalsbelastningen. Det AMD kan göra är väl egentligen att ge upp att köra sin CMP-design (plus CMT) på Bulldozermoduler och istället där de tagit bort ena heltalsberäkningensdelen, bara köra en tråd per modul och köra fler kärnor genom att lägga ut fler block av "moduler", eller så får de ta och fixa sina 4 st frontends för det är ju främst front-endprestandan som lär vara lägre även om de traditionella heltalsberäkningsenheterna rent arkitekturmässigt lär vara slöare. Så mycket cache som de har lär inte behövas om de fixar det hela. Halvering av cache hade ju minskat storleken med 400 miljoner transistorer. Hur som helst förväntar jag mig inte så värst prestanda ur Enhanced Bulldozer/Piledriver där de bärbara processorerna bara kommer att vara två-modulsvarianter och egentligen ska ersätta AMD 4-kärnorvarianter av Stars-arkitekturen. Någon desktop-mainstreamvariant av Bulldozer får vi väl inte fören 2013 heller om inte FM2 kommer ut. AM3+ är inget kort AMD kan ha i rampljuset nästa år iaf, är nog hyfsat ointressant även om de får nya processorer.

Det är hur som helst hur pipeline ser ut än hur många frontends och separata fetch/decodesteg av x86-instruktioner snarare. Prestandan är sämre än deras förra kärnor än så länge, men nog är det 8 st pipelinade kärnor av det hela där 8 st trådar kan köra på 8 st heltalsberäkningsenheter och 4-st dual-issue flyttalsenheter som ska kunna hantera 8st 128-bit operationer per cykel. Men som det ser ut nu verkar de inte kunna hantera resurserna särskilt bra och verkar ha problem på lägre nivå än så. Delad cache är ju för övrigt något Intel fått ut bra prestanda av på x86. Nog går det att göra bättre även på den arkitekturen.

Permalänk
Medlem

Ni som diskuterar, i övrigt så har AMD redan Stars/K10-kärnorna på 32nm i Llano, så enkelt är det med den saken. Dual-die-variant MCM av Llano är inte svårare än Magny-cours eller annan SMP. Och nog är kärnorna så syntetiserade att de lär kunna stoppa in fler kärnor i Llano precis som de gjorde med Thuban. Mer resurser än så behövs inte. Det var därför jag nämnde Llano/Stars som en väg där de kan få ut lite mer prestanda istället för att bry mig om AM3+ och 45nm-processorer. Även om det inte finns något L3 där. Enhanced-Bulldozer kanske kan lyckas bättre också, men det krävs mer än IPC-förbättringar, 4-instruker (x86) per cykel och modul lär väl vara tillräckligt. För att de ska ligga bra till behöver ju den enkärnor/entrådade prestandan upp ca 50%. Det är en hel del det. Vi får se hur mycket de tar sig över Stars-kärnorna om något halvår eller när vi nu ser Piledriver.

Permalänk
Medlem

Som man har väntat och vilka dåliga resultat? Jag som vart sugen på att köra en riktigt bulldozer dator får tyvärr säga nej