AMD till rätten för falsk marknadsföring av arkitekturen Bulldozers kärnor

Permalänk
Skrivet av Patrik356b:

Då kan dom stämma Intel för HyperThreading också när dom ändå håller på.

Skickades från m.sweclockers.com

Nä varför skulle dom göra det? Jag har aldrig hört talas om någon som tycker det varit missvisande att intel beskriver sina HT-cpuer med 4 kärnor och 4 trådar, och det är ju inte så konstigt eftersom dom har 4 kärnor och 4 trådar?

Permalänk
Medlem
Skrivet av galenmyra:

Nä varför skulle dom göra det? Jag har aldrig hört talas om någon som tycker det varit missvisande att intel beskriver sina HT-cpuer med 4 kärnor och 4 trådar, och det är ju inte så konstigt eftersom dom har 4 kärnor och 4 trådar?

4 kärnor och 8 trådar*
https://ark.intel.com/products/97129/Intel-Core-i7-7700K-Proc...-

Skickades från m.sweclockers.com

Visa signatur

sweclockers prestandaindex

Efter 10 kommer 11.
Efter 99 kommer 100.

Permalänk
Skrivet av Bengt-Arne:

Där blev det verkligen rörigt.
Bulldozer har moduler som har 2 st fulla heltalskärnor och en flyttalskärna.
Så räknar man alla kärnor i en buldozer med 4 moduler så kan man även säga att den har 12 kärnor

4 moduler ger 8 heltalskärnor och 4 flyttalskärnor.

Sen så stämningen gäller inte dess prestanda i huvudsak utan hur man ska räkna antalet kärnor, vilket gör det rxtra intressant då man kan säga att 4 moduler har 3 kärnor per modul. En modul har aldrig varit en kärna i Buldozer.

Vill gärna se den rättelsen

Jo, tycker nog det är mer korrekt att kalla det du kallar för moduler för kärnor och inte varje enskild komponent i modulen för kärnor.

Så om du vill så kan jag istället säga att den har 4 kärnor med 3 moduler i varje kärna.

Permalänk
Skrivet av ClintBeastwood:

Japp Ett skrivfel från min sida bara, men jag menade givetvis 8 trådar.

Permalänk
Medlem
Skrivet av galenmyra:

Japp Ett skrivfel från min sida bara, men jag menade givetvis 8 trådar.

Misstänkte det

Skickades från m.sweclockers.com

Visa signatur

sweclockers prestandaindex

Efter 10 kommer 11.
Efter 99 kommer 100.

Permalänk
Inaktiv
Skrivet av Patrik356b:

Då kan dom stämma Intel för HyperThreading också när dom ändå håller på.

Skickades från m.sweclockers.com

Jag stör mig på den ofta svenska förkortningen trådar. Då man kan köra fler trådar och väldigt ofta har man en drös trådar som delar på att vara aktiva.
Men jag ser det rent semantisk, där folk inte ska behöva skriva 20 A4 sidor varje gång de nämner ht. Utan skriver man trådar efter core vid cpu så fattar alla.k

Permalänk
Medlem

Jag har också haft fx8350 den var på 8 kärnor enligt Windows och fungera efter förväntningar.. Man var fattig då.
Men Intel har också gjort sina klavertramp men då är det tyst... Kan vara att dom har pengar så dom mörkar sina missar...
Har hängt med sen 8086 tiden 😀 och följt cpu utveckling.

Visa signatur

Låda thermaltake view 91 M-kort ASUS X399 ROG Zenith Extreme CPU AMD Ryzen Threadripper 1920X 3.5 GHz Kylning Hemma byggd vattenkylning 2 x 480mm + 1 x 420mm radiatorer Minne 8 X 16Gb DDR4 HD SSD 240GB OCZ Trion 100 Grafik Gigabyte Geforce RTX 3080 10GB GAMING OC WATERFORCE WB AGG Corsair RM 1000w 80+ Gold Skärm ASUS 43" ROG Strix XG438QR 4K VA HDR 120 Hz

Permalänk
Skrivet av Yoshman:

Vilken version av Windows kör ni egentligen? Detta är vad man borde se för en 2C/4T

Windows 8.1 x64

Skickades från m.sweclockers.com

Permalänk
Medlem
Skrivet av galenmyra:

Jo, tycker nog det är mer korrekt att kalla det du kallar för moduler för kärnor och inte varje enskild komponent i modulen för kärnor.

Så om du vill så kan jag istället säga att den har 4 kärnor med 3 moduler i varje kärna.

OK

Jag följde endast vad AMD själva benämner dom, men ser det som intressant då man kan gå vidare och säga att AMD's GPU'er har 64 CU i varje Stream komplex

Allt för att få ens mening igenom i förvirringen...

Skrivet av galenmyra:

Nä varför skulle dom göra det? Jag har aldrig hört talas om någon som tycker det varit missvisande att intel beskriver sina HT-cpuer med 4 kärnor och 4 trådar, och det är ju inte så konstigt eftersom dom har 4 kärnor och 4 trådar?

4 kärnor och 4 trådar är ju inte HT eller SMT, däremot ST (Singel treading)
HT är intels namn på just SMT

Däremot
4 kärnor och 8 trådar är HT eller SMT

Eller på IBM maner
4 kärnor och 16 trådar som är SMT4
4 kärnor och 8 trådar som är SMT2
4 kärnor och 4 trådar som är ST (Singel treading)

Marknadsförde AMD Buldozer som en CPU med 8 kärnor och SMT?

Sen med AMD Zen och CCX, ska vi börja kalla ett CCX för kärna och säga att en kärna har 4 moduler?

Lade till om CCX
Visa signatur

Engineer who prefer thinking out of the box and isn't fishing likes, fishing likes is like fishing proudness for those without ;-)
If U don't like it, bite the dust :D
--
I can Explain it to you, but I can't Understand it for you!

Permalänk
Medlem
Skrivet av galenmyra:

Jo, bara för att det inte finns någon fast defentition så betyder det ju inte att ett ord inte kan ha en innebörd eller att folk inte kan ha en allmän uppfattning om vad man förväntar sig av begreppet kärna. Jag tror att dom flesta inte uppfattar en processor med 4 kärnor som är delad i 8 delkärnor/moduler/kalla det vad du vill, som en 8-kärnig processor, och det är det jag pratar om.

Börjar man anta beslut i domstol efter vad eventuella personer KAN tolka saker som så är man redan ute på djupt vatten. Då kan jag ju hänvisa ignorans och tro att Intel menar att logiska kärnor är fysiska eftersom de har kärnor i namnet.

Skrivet av Dalton Sleeper:

Jag kan skriva ett program till er som visar att ni har 128 kärnor dygnet runt hela året, om ni blir gladare då.
En ide är väll att man tar bort processorinformationen från alla operativsystem, så är problemet löst.

Känns lite efterblivet om folk bara skulle gå på antalet cores, prestanda är väll det man bör gå efter?
En 8-kärnig celeron på 2.0 eller en 4-kärnig i7 på 4.5?

Nej då. Blir inte gladare för att ett program säger åt mig att jag har 128 kärnor.. men jag skulle inte heller dra dig inför rätta.

Skrivet av Yoshman:

Vilken version av Windows kör ni egentligen? Detta är vad man borde se för en 2C/4T CPU
https://i.imgur.com/uverLrI.png?1

Och var får Windows den informationen ifrån? Exakt samma ställe som Linux, MacOS etc får informationen från: x86 instruktionen CPUID.

Är väl lite här AMD har ett problem. Deras ingenjörer som redan gjort en definition av vad som är SMT och vad som är kärnor, för FX-8xxx ansåg de att det handlar om en CPU med fyra kärnor och två trådar per kärna.

Windows 10 x64.

Visa signatur

Fractal Design Meshify 2 Compact w/ Dark Tint | Intel i5 12600K | Asus ROG Strix B660-F | 32 GB Corsair DDR5 5600 MHz CL36 | MSI Geforce RTX 3060 TI Ventus 2X OCV1 | 512 GB Samsung Pro 850 SSD + 2TB WD Black SN850 NVME PCI-E 4.0 | Corsair RM750X |

Permalänk
Medlem
Skrivet av mrbrix:

Ja, precis. Det är ju 4år sen. Att dem orkar!

AMD hävdar att det är 8 år sen.

Skickades från m.sweclockers.com

Permalänk
Skrivet av Dalton Sleeper:

Jag kan skriva ett program till er som visar att ni har 128 kärnor dygnet runt hela året, om ni blir gladare då.
En ide är väll att man tar bort processorinformationen från alla operativsystem, så är problemet löst.

Känns lite efterblivet om folk bara skulle gå på antalet cores, prestanda är väll det man bör gå efter?
En 8-kärnig celeron på 2.0 eller en 4-kärnig i7 på 4.5?

Fast det är ju så att man får leva i verkligheten också, det är inte alla som är entusiaster och sitter och runkar av till cinebench score hela dagarna, många föräldrar som ska köpa dator till sin unge kan inte ett skit, dom frågar runt lite bland folk dom känner vad man behöver för en bra speldator och det dom hör är kanske cpu med minst 4 kärnor, gärna 6, och så kollar dom vad det finns för speldatorer och hittar en 2500k med 4 kärnor och en fx-6100 med 6 kärnor, vilken tror du dom väljer?

Jajaja, nu kommer du säga "så korkade är inte folk", "är man så korkad får man skylla sig själv" eller "det är hur lätt som helst att ta reda på fakta" men verkligheten är den att väldigt många vet faktiskt inte hur dom ska jämföra olika datorkomponenter mot varandra utan går efter det dom hör från folk dom känner.

Och tror inte att försäljare i butiker är pålitliga, kan ta ett exempel som hände för några år sedan när min svärmor skulle köpa dator till sin son och gick till mediamarkt, hon blev rekommenderad att köpa en dator med ett R9 255, det låter ju som ett häftigt grafikkort, R9 är ju AMDs topserie. Ett R9 255 är ett rebrandat 7750. Hennes son kunde knappt spela några spel över huvud taget.

Permalänk
Medlem
Skrivet av galenmyra:

Fast det är ju så att man får leva i verkligheten också, det är inte alla som är entusiaster och sitter och runkar av till cinebench score hela dagarna, många föräldrar som ska köpa dator till sin unge kan inte ett skit, dom frågar runt lite bland folk dom känner vad man behöver för en bra speldator och det dom hör är kanske cpu med minst 4 kärnor, gärna 6, och så kollar dom vad det finns för speldatorer och hittar en 2500k med 4 kärnor och en fx-6100 med 6 kärnor, vilken tror du dom väljer?

Jajaja, nu kommer du säga "så korkade är inte folk", "är man så korkad får man skylla sig själv" eller "det är hur lätt som helst att ta reda på fakta" men verkligheten är den att väldigt många vet faktiskt inte hur dom ska jämföra olika datorkomponenter mot varandra utan går efter det dom hör från folk dom känner.

Och tror inte att försäljare i butiker är pålitliga, kan ta ett exempel som hände för några år sedan när min svärmor skulle köpa dator till sin son och gick till mediamarkt, hon blev rekommenderad att köpa en dator med ett R9 255, det låter ju som ett häftigt grafikkort, R9 är ju AMDs topserie. Ett R9 255 är ett rebrandat 7750. Hennes son kunde knappt spela några spel över huvud taget.

Men var går gränsen för vilket ansvar företagen har gentemot folk som inte är pålästa? Är det verkligen företagens ansvar att se till att dessa inte missuppfattar saker och ting? Så länge som AMD inte rakt ut ljuger för folk så anser iallafall jag att AMD inte gjort något direkt juridiskt fel. Sedan kan man ju ha åsikter om moral hit och dit i all men det kan även hos dessa iglar som vill ha pengar genom att stämma företag för diverse obskyra och högst overkliga saker.

Sedan borde man se skillnad mellan AMD och ett företag vars säljare antagligen jobbar mot provision.

Visa signatur

Fractal Design Meshify 2 Compact w/ Dark Tint | Intel i5 12600K | Asus ROG Strix B660-F | 32 GB Corsair DDR5 5600 MHz CL36 | MSI Geforce RTX 3060 TI Ventus 2X OCV1 | 512 GB Samsung Pro 850 SSD + 2TB WD Black SN850 NVME PCI-E 4.0 | Corsair RM750X |

Permalänk
Skrivet av Xinpei:

Men var går gränsen för vilket ansvar företagen har gentemot folk som inte är pålästa? Är det verkligen företagens ansvar att se till att dessa inte missuppfattar saker och ting? Så länge som AMD inte rakt ut ljuger för folk så anser iallafall jag att AMD inte gjort något direkt juridiskt fel. Sedan kan man ju ha åsikter om moral hit och dit i all men det kan även hos dessa iglar som vill ha pengar genom att stämma företag för diverse obskyra och högst overkliga saker.

Sedan borde man se skillnad mellan AMD och ett företag vars säljare antagligen jobbar mot provision.

jo visst, men varför väljer amds marknadsavdelning att kalla en cpu som deras ingenjörer säger är en 4 kärnig cpu för 8 kärnig cpu, och varför väljer amd att kalla ett gammalt kort ur budgetklassen som 7750 för ett nyare kort i topklassen r9?

enda syftet med detta är ju helt enkelt att lura okunniga kunder

säljare jobbar mot provision men det gör ju dom som är ansvariga för försäljningen hos AMDs också.

Permalänk
Medlem
Skrivet av anon159643:

Fast var det inte så att man ej kunde nyttja alla 4GB minne på dessa?

GTX 970 korten hade rent fysiskt 4GB minne.
Men minnet var uppdelat i två minnespooler, där den ena var på 3,5GB och den andra på 0,5GB.
Den på 3,5GB var betydligt snabbare (högre bandbredd) än den på 0,5GB.
Därför försökte korten i första hand klara sig på 3,5GB poolen och undvika att använda de sista 0,5GB eftersom det gav bättre prestanda så länge man klarade sig bra på det.
Men de kunde fortfarande använda de sista 0,5GB om det krävdes och det var fortfarande snabbare än att låna av de vanliga ram som man har på moderkortet.

Det hade något att göra med någon form av beräkningsenheter som hade deaktiverats på 970 för att differentiera det från 980 och göra kortet långsammare. På något vis var det även knytet till minneshanteringen, så denna uppdelning blev en bieffekt av att man ville göra GTX 970 till ett långsammare kort än GTX 980.
(Annars hade det varit en grym deal om 970 hade varit samma som 980 fast till lägre pris)

Kommer inte ihåg alla detaljer exakt, men det bör gå att hitta på webben om man letar.
Kontentan är i alla fall att minneshanteringen blev som jag skrev i första stycket.

Permalänk
Medlem
Skrivet av Elloy:

Måste vara kul för de tolv slumpmässiga amerikaner som får spendera lite tid i rättssalen, processorer och antalet kärnor är ju inte Svenssons favoritintresse direkt...

Tvärt om ser jag det som en bra sak. Till skillnad från med insatt folk finns det väldigt låg risk för omedvetet jäv inom juryn.

Skrivet av FattarNiInte:

Om man i linux sätter cpu affinity till 1,3,5 och 7 för en 8 kärnig bulldozer presterar den som väntat, vilket också görs automatiskt.
Sätter man 1,2,3,4 är den dålig men endå snabbare än endast 1 och 3.

På fyrkärnig intel sätter man 1,2,3 och 4. 5,6,7 och 8 är ht.
Av kompatibilitetsskäl hade det varit vettigare att se den som 4 kärnig med ht. Jag gissar att windows gör så.

Skickades från m.sweclockers.com

Intel har flyttat runt sina extra trådar med åren, där bara de senaste generationerna har haft dem indelade i halvor. Till exempel hade Sandy Bridge HT-trådarna som varannan tråd, precis på samma sätt som Zen har dem.

Skrivet av Yoshman:

Vilken version av Windows kör ni egentligen? Detta är vad man borde se för en 2C/4T CPU
https://i.imgur.com/uverLrI.png?1

Och var får Windows den informationen ifrån? Exakt samma ställe som Linux, MacOS etc får informationen från: x86 instruktionen CPUID.

Är väl lite här AMD har ett problem. Deras ingenjörer som redan gjort en definition av vad som är SMT och vad som är kärnor, för FX-8xxx ansåg de att det handlar om en CPU med fyra kärnor och två trådar per kärna.

Att i CPUID presentera processorn som 4C/8T är ju inte nödvändigtvis för att man anser att den har 4 kärnor, det kan ju lika gärna vara för att det var det bästa sättet att få NT-kärnan att hantera kärnorna på rätt sätt. Om jag har förstått saken rätt hade man lika gärna kunnat rapportera 8 kärnor utan flyttalsenheter i CPUID och hantera flyttal genom återupplivad kod för Intels 8087, men att NT-kärnan då skulle behöva modifieras ganska ordentligt för att räkna flyttal på "rätt" Bulldozer-moduler. Eftersom Windows vid tillfället utgjorde ca 90-95% av marknaden (beroende på vem man frågade) är det knappast irrelevant hur NT-kerneln definierade en kärna.

Detta koncept med att ljuga för mjukvara kallas ofta för att "fixa mjukvara med hårdvara" och är inte så ovanligt med embedded-prylar. Faktiskt inte helt olikt hur du beskrev att big.LITTLE fungerade innan Linux-kärnan kunde hantera asymmetriska kärnor. I en perfekt värld hade AMD kunnat uppdatera mikrokoden med nytt CPUID efter att Microsoft hade modifierat NT-kerneln till att ta hänsyn till det ovanliga upplägget med flyttalsenheterna, men i praktiken finns det för mycket som kunde ha gått snett.

Visa signatur

Mjölnir: Ryzen 9 3900X | X570-I | Ballistix Sport 32GB | Powercolor RX 5500XT 4GB ITX | Kolink Sattelite
Server: Ryzen 5 1400 | X470-F | Ballistix Sport 24GB | ASUS HD 7790 2GB | Sapphire RX 470 8GB ME | NZXT Switch 810

Permalänk
Medlem

Även de mer datorkunniga av mina vänner ser på trådar som kärnor, det är inte något som AMD myntat utan snarare Intel med P4 & HT.
Det marknadsförs ju i princip som att det vore fullgoda kärnor.
Så om AMD har fel eller rätt i sin definition är även det en definition; skulle jag göra en bedömning ur en teknisk aspekt skulle jag säga att det var missvisande information, men om jag ska utgå från hur gemene man uppfattar upplägget hade jag bara ringt upp och ställt in rättegången eftersom den genomsnittlige datoranvändaren ser det som kärnor = trådar = moduler.

Visa signatur

11600K@5.1 GHz + 32GB Corsair Vengeance RGB PRO 3200@3400 MHz + MSI RTX 2080 Super Gaming X Trio +
WDC Blue SN550 1TB + Black OEM SN730 500GB + Kingston A1000 480GB + A2000 500GB + NV2 1TB + 2TB R10 + RGB most of THE THINGS! + Corsair 4000D Airflow + 2*ZyXEL NSA326 2*3TB @ R1 + Netgear RN2100 4*3TB @ R10 + RN204 4*4TB @ R5 + Synology DS216j 2*4TB @ SHR R1 + DS418 4*8TB @ SHR R6
| tmp: R5 3600@4.2 GHz + 32GB 2666@3066MHz + 2070 8GB + 1 TB NV2 & 512GB SN730

Permalänk
Medlem
Skrivet av galenmyra:

jo visst, men varför väljer amds marknadsavdelning att kalla en cpu som deras ingenjörer säger är en 4 kärnig cpu för 8 kärnig cpu, och varför väljer amd att kalla ett gammalt kort ur budgetklassen som 7750 för ett nyare kort i topklassen r9?

enda syftet med detta är ju helt enkelt att lura okunniga kunder

säljare jobbar mot provision men det gör ju dom som är ansvariga för försäljningen hos AMDs också.

Som svar på din andra fråga. För att det är industristandard att göra det. Både AMD och Nvidia döper om kort i nedre segment för att slippa utvecklingskostnader. Nvidia döpte t.ex. om 680 till 770. AMD döpte om R9 480 till 580. R9 är bara ett namn dessutom. Som svar på din första fråga.. pga. PR. Man kan tekniskt sett säga att en Bulldozercpu är en åttakärnig processor och därför gjorde man antagligen det. Betyder dock inte att man gjort ett lagbrott.

Att gemene man skulle må bra av att läsa på däremot är ingen nyhet och är inte heller något som teknikmarknaden enkom lider av.

Visa signatur

Fractal Design Meshify 2 Compact w/ Dark Tint | Intel i5 12600K | Asus ROG Strix B660-F | 32 GB Corsair DDR5 5600 MHz CL36 | MSI Geforce RTX 3060 TI Ventus 2X OCV1 | 512 GB Samsung Pro 850 SSD + 2TB WD Black SN850 NVME PCI-E 4.0 | Corsair RM750X |

Permalänk
Medlem
Skrivet av Xinpei:

AMD döpte om R9 480 till 580.

Bara halvt rätt, RX 580 har betydligt hårdare krav än RX 480 på komponenterna runt själva GPUn. Tekniskt sett är alltså kislet nästan identiskt men kortet du sätter det på är långt från samma.

Källa: https://youtu.be/26lGq_SOLkg?t=1167

Visa signatur

Mjölnir: Ryzen 9 3900X | X570-I | Ballistix Sport 32GB | Powercolor RX 5500XT 4GB ITX | Kolink Sattelite
Server: Ryzen 5 1400 | X470-F | Ballistix Sport 24GB | ASUS HD 7790 2GB | Sapphire RX 470 8GB ME | NZXT Switch 810

Permalänk
Skrivet av Xinpei:

Som svar på din andra fråga. För att det är industristandard att göra det. Både AMD och Nvidia döper om kort i nedre segment för att slippa utvecklingskostnader. Nvidia döpte t.ex. om 680 till 770. AMD döpte om R9 480 till 580. R9 är bara ett namn dessutom. Som svar på din första fråga.. pga. PR. Man kan tekniskt sett säga att en Bulldozercpu är en åttakärnig processor och därför gjorde man antagligen det. Betyder dock inte att man gjort ett lagbrott.

Att gemene man skulle må bra av att läsa på däremot är ingen nyhet och är inte heller något som teknikmarknaden enkom lider av.

hahah, amd och nvidia rebrandar kort för att det är industristandard, och det är industristandard eftersom amd och nvidia gör det? Alltså, det är den sämsta förklaringen jag kunde tänka mig att någon kunde komma med. Och nej det är inte samma sak som att rebranda ett 680 till 770, i det fallet har man gått upp en generation och gått ner en prestandaklass. I fallet med 7750 till R9 255 har man tagit ett av dom sämsta korten i budgetklassen, rebrandat det till ett kort som är ett par generationer nyare och dessutom satt beteckningen på det för AMDs toppklass R9, förstår du inte att det inte är samma sak?

Permalänk
Datavetare
Skrivet av Bael:

Kan i princip inget om sådan kod, men var står det "insert numbers of moduls" ?

Konceptet "modul" finns överhuvudtaget inte bland informationen i CPUID.

Som kuriosa. Linux tar, till skillnad från Windows, hänsyn till CCX i Zen. Men det är inte för Linux vet vad en CCX är utan det råkar bara bli en trevlig bieffekt av att Linux schemaläggare även kikar på hur CPU-cachen är fördelad mellan CPU-trådar och L3$ är privat per CCX.

Skrivet av Patrik356b:

Windows 8.1 x64

Skrivet av Xinpei:

Windows 10 x64.

M.a.o. så säger er aktivitetshanterare "2 resp 4 kärnor" samt "4 resp 8 logiska processorer" för 2C/4T laptop och 4C/8T i7-7700K. I Windows 7 nämns inte antalet kärnor explicit, där visas bara grafer för varje logisk processor.

Skrivet av Xinpei:

Börjar man anta beslut i domstol efter vad eventuella personer KAN tolka saker som så är man redan ute på djupt vatten. Då kan jag ju hänvisa ignorans och tro att Intel menar att logiska kärnor är fysiska eftersom de har kärnor i namnet.

Om man ska vara riktigt petnoga här, vilket nog är viktigt om något ska försvaras i rätten, så är terminologin "kärnor (cores)" och "logiska processorer (logical processors)". D.v.s man undviker ordet "kärna" för SMT.

Skrivet av Djhg2000:

Intel har flyttat runt sina extra trådar med åren, där bara de senaste generationerna har haft dem indelade i halvor. Till exempel hade Sandy Bridge HT-trådarna som varannan tråd, precis på samma sätt som Zen har dem.

Inte för att detta är relevant på något sätt, men kollade precis och både i7-2600K samt Xeon E5 2690 (Sandy Bridge baserad), listar kärnor och trådar precis på samma sätt som senare modeller. D.v.s. för i7-2600K är logisk processor 0-3 första tråden på respektive kärna medan 4-7 är andra tråden på respektive kärna. På Ryzen listas de i stället som 0,1 är första resp andra tråd på första kärnan, 2,3 är första andra tråd på andra kärnan etc (har aldrig haft en FX 8xxx men det verkar fungerar precis som Zen).

Skrivet av Djhg2000:

Att i CPUID presentera processorn som 4C/8T är ju inte nödvändigtvis för att man anser att den har 4 kärnor, det kan ju lika gärna vara för att det var det bästa sättet att få NT-kärnan att hantera kärnorna på rätt sätt. Om jag har förstått saken rätt hade man lika gärna kunnat rapportera 8 kärnor utan flyttalsenheter i CPUID och hantera flyttal genom återupplivad kod för Intels 8087, men att NT-kärnan då skulle behöva modifieras ganska ordentligt för att räkna flyttal på "rätt" Bulldozer-moduler. Eftersom Windows vid tillfället utgjorde ca 90-95% av marknaden (beroende på vem man frågade) är det knappast irrelevant hur NT-kerneln definierade en kärna.

CPUID är en mikrokodad instruktion som inte är det minsta prestandakritisk. Är hur enkelt som helst för AMD att patcha den om de ansåg det vore en bra idé.

CPUID måste presentera en flyttalsprocessor, i alla fall om man vill köra något senare än Windows 95 då det är sista versionen som ens bootar utan HW-float. Idag finns inte ens s.k. "soft-float" stöd för x86 i de populära C-kompilatorerna, så går inte ens att skapa OS för inbyggda-system utan "hard-float" stöd på en x86 (om man nu inte vill knacka allt i assembler...).

Problemet med Windows schemaläggare och Bulldozer var initialt mycket riktigt att Windows ansåg det handlade om 8 "riktiga" kärnor och inte 4 kärnor + SMT. Orsaken är att funktionen hos CPUID inte är 100 % kompatibel mellan AMD och Intel, uppenbarligen saknade Windows stöd för AMD här (Linux fungerade däremot från dag 1, där sågs alltid Bulldozer som en CPU med två trådar per kärna).

Första patchen för Windows schemaläggare hade ett väldigt underligt beteende. I stället för att prioritera att först sprida lasten så att en CPU-tråd mer kärna lastades gjorde man tvärt om, d.v.s. man prioriterade att lasta båda trådarna en viss kärna (eller "modul"). Resultatet blev ingen höjdare och den patchen drogs relativt snabbt tillbaka.

TechReport gjorde själva lite manuell schemaläggning, resultatet är att Bulldozer uppför sig exakt som Core/Zen med SMT även om skillnaden mellan att använda två trådar på samma kärna vs två trådar på olika kärnor är betydligt mindre än hos Core/Zen.

Så vitt jag vet finns ingen klar definition av vad som är en "kärna", men då det är viktigt för operativsystem att särskilja på SMT och oberoende kärnor så finns en klar teknisk definition av vad som är SMT (och det är då inte en "kärna" utan möjlighet att hålla mer än ett arkitekturtillstånd i en och samma kärna).

Definitionen av SMT är att minst en av de tre delar i en klassisk RISC pipeline ska vara delad, d.v.s. om minst en av fetch (hämta instruktioner från RAM), decode (lura ut vilken instruktion det handlar om) och execute (utföra instruktionen) så är det SMT och inte en "kärna".

Några exempel

  • AMD Zen/Intel Core delar alla tre stegen

  • Freescale e6500 delar "execute" men har separat fetch/decode, en inverterad Bulldozer/Piledriver!

  • Bulldozer/Piledriver delar "fetch" och "decode"

OS måste göra denna distinktion för att kunna schemalägga arbete på bästa sätt. Exakt vad som delas är ur den aspekten irrelevant, enda viktiga är att om två oberoende jobb läggs på två separata kärnor påverkar dessa inte varandra medan man kommer påverka det existerande jobbet mer eller mindre negativt om ett nytt jobb läggs ut på en CPU-tråd som delar kärna.

Skrivet av Djhg2000:

Detta koncept med att ljuga för mjukvara kallas ofta för att "fixa mjukvara med hårdvara" och är inte så ovanligt med embedded-prylar. Faktiskt inte helt olikt hur du beskrev att big.LITTLE fungerade innan Linux-kärnan kunde hantera asymmetriska kärnor. I en perfekt värld hade AMD kunnat uppdatera mikrokoden med nytt CPUID efter att Microsoft hade modifierat NT-kerneln till att ta hänsyn till det ovanliga upplägget med flyttalsenheterna, men i praktiken finns det för mycket som kunde ha gått snett.

Trots över 10 år som OS-programmerare har jag väldigt svårt att se hur man på något vettig sätt skulle kunna ta hänsyn till mikroarkitekturspecifika detaljer för flyttalsdelen. Många program använder ju inte ens flyttalsdelen, OS-kärnan kan inte "se" om en applikation är flyttalsintensiv eller ej. I koden för OS-kärnor brukar flyttal överhuvudtaget inte gå att använda utan manuell hantering från programmerarens sidan (gäller bl.a. Windows, MacOS och Linux).

För fallet som artikeln skrivet om är faktiskt den delade flyttalsdelen helt irrelevant. Flyttalsdelens beskaffenhet är också helt irrelevant i klassificering mellan "kärna" och SMT.

Hoppas detta fall inte får bifall i domstolen, men ärligt talat ser det rätt mörkt ut för AMDs del. Deras räddningsplanka kan bli att målsägaren pekar på saker som är totalt irrelevant, t.ex. att L2$ är delad (som är trivialt för AMD att visa att det har noll bäring på om det är "äkta" kärnor eller ej). Om målsägaren däremot plockar in någon som har minsta koll på t.ex. CPUID delen och vad det praktiskt betyder, d.v.s. att AMD själva definierat CPUn som 4C/8T, så har jag svårt att se en jury döma till AMDs fördel.

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 Yoshman:

Konceptet "modul" finns överhuvudtaget inte bland informationen i CPUID.

Hur ska då AMD kunna ange att processorn är uppbyggd med moduler? Var det inte så AMD ville ha det till, exempelvis 4st moduler för FX-8xxx?

Visa signatur

XFX Radeon RX 7700 XT Speedster QICK 319 Black Edition | AMD Ryzen R7 5700X | Noctua NH-D15 | Asus TUF Gaming B550-Plus | Kingston Fury Beast DDR4 3600MHz 4x8GB | Samsung 990 Pro 1TB | Corsair HX1000i | Fractal Design Define S | LG 27GL83A | Corsair K95 Platinum | Corsair Sabre RGB PRO Wireless | Corsair Void Elite Wireless

Permalänk
Skrivet av Bael:

Hur ska då AMD kunna ange att processorn är uppbyggd med moduler? Var det inte så AMD ville ha det till, exempelvis 4st moduler för FX-8xxx?

Varje modul består av dekoder, FPU-enhet och 2st INT-enheter så visst blir det 8 INT-enheter för 4 moduler.

Permalänk
Medlem
Skrivet av Yoshman:

Hoppas detta fall inte får bifall i domstolen, men ärligt talat ser det rätt mörkt ut för AMDs del. Deras räddningsplanka kan bli att målsägaren pekar på saker som är totalt irrelevant, t.ex. att L2$ är delad (som är trivialt för AMD att visa att det har noll bäring på om det är "äkta" kärnor eller ej). Om målsägaren däremot plockar in någon som har minsta koll på t.ex. CPUID delen och vad det praktiskt betyder, d.v.s. att AMD själva definierat CPUn som 4C/8T, så har jag svårt att se en jury döma till AMDs fördel.

Det kommer inte endast handla om de tekniska aspekterna i domstolen. Även om detta såklart talar till AMD's nackdel finns det andra frågor, som exempelvis konsumentens egna ansvar och vilken skada de faktiskt lidit.

Om det nu slås fast att det varit vilseledande att kalla 4 kärnor för 8, då blir följdfrågan: So what? Vad sägs om att AMD kontrar med: "Visst, det blev lite tokigt i vår marknadsföring. Däremot har vi levererat den prestanda vi utlovat, vilket även bekräftas av oberoende tester. Ingen konsument har blivit lidande av detta".

Observera att jag inte uttalar mig om vad som är rätt eller fel i frågan, utan det jag vill belysa är att det finns många olika sätt att argumentera fram och tillbaka i frågan.

Permalänk
Medlem

@Greyguy1948: Hur anger man det i cpuid?

Visa signatur

XFX Radeon RX 7700 XT Speedster QICK 319 Black Edition | AMD Ryzen R7 5700X | Noctua NH-D15 | Asus TUF Gaming B550-Plus | Kingston Fury Beast DDR4 3600MHz 4x8GB | Samsung 990 Pro 1TB | Corsair HX1000i | Fractal Design Define S | LG 27GL83A | Corsair K95 Platinum | Corsair Sabre RGB PRO Wireless | Corsair Void Elite Wireless

Permalänk
Medlem
Skrivet av Yoshman:

Inte för att detta är relevant på något sätt, men kollade precis och både i7-2600K samt Xeon E5 2690 (Sandy Bridge baserad), listar kärnor och trådar precis på samma sätt som senare modeller. D.v.s. för i7-2600K är logisk processor 0-3 första tråden på respektive kärna medan 4-7 är andra tråden på respektive kärna. På Ryzen listas de i stället som 0,1 är första resp andra tråd på första kärnan, 2,3 är första andra tråd på andra kärnan etc (har aldrig haft en FX 8xxx men det verkar fungerar precis som Zen).

Här är utskriften från "lscpu -e" på min laptop med i7-3840QM (Ivy Bridge):

$ lscpu -e CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ 0 0 0 0 0:0:0:0 yes 3800.0000 1200.0000 1 0 0 0 0:0:0:0 yes 3800.0000 1200.0000 2 0 0 1 1:1:1:0 yes 3800.0000 1200.0000 3 0 0 1 1:1:1:0 yes 3800.0000 1200.0000 4 0 0 2 2:2:2:0 yes 3800.0000 1200.0000 5 0 0 2 2:2:2:0 yes 3800.0000 1200.0000 6 0 0 3 3:3:3:0 yes 3800.0000 1200.0000 7 0 0 3 3:3:3:0 yes 3800.0000 1200.0000

Tycker definitivt att HT-tråderna ser ut att dyka upp parvis här, vilket också stämmer med vad jag kommer ihåg från min i7-2600.

Skrivet av Yoshman:

CPUID är en mikrokodad instruktion som inte är det minsta prestandakritisk. Är hur enkelt som helst för AMD att patcha den om de ansåg det vore en bra idé.

CPUID vad jag vet dumpar bara en intern blob och har ingen aning vad informationen den dumpar faktiskt betyder, men ser inte hur varken implementationen eller prestandan av CPUID har någon betydelse här?

Skrivet av Yoshman:

CPUID måste presentera en flyttalsprocessor, i alla fall om man vill köra något senare än Windows 95 då det är sista versionen som ens bootar utan HW-float. Idag finns inte ens s.k. "soft-float" stöd för x86 i de populära C-kompilatorerna, så går inte ens att skapa OS för inbyggda-system utan "hard-float" stöd på en x86 (om man nu inte vill knacka allt i assembler...).

Lite av ett sidospår, men behövde faktiskt kolla upp hur det ligger till med soft float numera, och i alla fall GCC har mycket riktigt inte ett inbyggt bibliotek för det längre. Poängen var dock att NT-kerneln antar att x87-instruktionerna finns implementerade på traditionellt sätt (som i Intel 80386-kompatibel) och det du säger här stödjer ju mitt påstående.

Skrivet av Yoshman:

Problemet med Windows schemaläggare och Bulldozer var initialt mycket riktigt att Windows ansåg det handlade om 8 "riktiga" kärnor och inte 4 kärnor + SMT. Orsaken är att funktionen hos CPUID inte är 100 % kompatibel mellan AMD och Intel, uppenbarligen saknade Windows stöd för AMD här (Linux fungerade däremot från dag 1, där sågs alltid Bulldozer som en CPU med två trådar per kärna).

Givet vad CPUID returnerade på Bulldozer ser jag det mer som en bugg i schemaläggaren. Antar att AMD testade sig fram till vad de skulle mata in i CPUID för att får bästa prestandan vid lanseringen och löste problemen i efterhand tillsammans med Microsoft. Resultatet är röran vi har idag. Linux kunde de ju fixa på egen hand i förtid utan att någon reagerade eftersom det är öppen källkod och om patchen är tillräckligt väl skriven ser det ut som vilken liten buggfix som helst.

Skrivet av Yoshman:

Första patchen för Windows schemaläggare hade ett väldigt underligt beteende. I stället för att prioritera att först sprida lasten så att en CPU-tråd mer kärna lastades gjorde man tvärt om, d.v.s. man prioriterade att lasta båda trådarna en viss kärna (eller "modul"). Resultatet blev ingen höjdare och den patchen drogs relativt snabbt tillbaka.

TechReport gjorde själva lite manuell schemaläggning, resultatet är att Bulldozer uppför sig exakt som Core/Zen med SMT även om skillnaden mellan att använda två trådar på samma kärna vs två trådar på olika kärnor är betydligt mindre än hos Core/Zen.

Zen har en väldigt intressant implementation av SMT som skiljer sig markant från hur Core gör och ger bara liknande resultat i genomsnitt. Lite mer information om skillnaderna i denna video:

Givet att Bulldozer har separata heltalsenheter för varje kärna ser jag inte hur den skulle bete sig nära Core när du inte räknar flyttal, och siffrorna i artikeln du länkade visar i stort sätt bara att den delade flyttalsenheten är en begränsande faktor när du räknar just flyttal. picCOLOR (och bilbehandlingsalgoritmer i allmänhet) är ju tämligen flyttalstunga och räknar dessutom väldigt ofta med transformationsmatriser för att utnyttja SIMD så gott det går. Ska du ha en rättvis jämförelse ska du också ha med heltalstunga program.

Skrivet av Yoshman:

Så vitt jag vet finns ingen klar definition av vad som är en "kärna", men då det är viktigt för operativsystem att särskilja på SMT och oberoende kärnor så finns en klar teknisk definition av vad som är SMT (och det är då inte en "kärna" utan möjlighet att hålla mer än ett arkitekturtillstånd i en och samma kärna).

Definitionen av SMT är att minst en av de tre delar i en klassisk RISC pipeline ska vara delad, d.v.s. om minst en av fetch (hämta instruktioner från RAM), decode (lura ut vilken instruktion det handlar om) och execute (utföra instruktionen) så är det SMT och inte en "kärna".

Några exempel

  • AMD Zen/Intel Core delar alla tre stegen

  • Freescale e6500 delar "execute" men har separat fetch/decode, en inverterad Bulldozer/Piledriver!

  • Bulldozer/Piledriver delar "fetch" och "decode"

OS måste göra denna distinktion för att kunna schemalägga arbete på bästa sätt. Exakt vad som delas är ur den aspekten irrelevant, enda viktiga är att om två oberoende jobb läggs på två separata kärnor påverkar dessa inte varandra medan man kommer påverka det existerande jobbet mer eller mindre negativt om ett nytt jobb läggs ut på en CPU-tråd som delar kärna.

Den definitionen är dock lite missvisande om man inte tydliggör att ganska många instruktioner i x86 inte exekverar på en klockcykel. Anledningen till att du kan dela "fetch" och "decode" och ändå få god prestanda är ju att du kan hålla din pipeline fylld medan efterföljande steg fortsätter exekvera instruktioner. Nu spelar jag ju lite djävulens advokat här, men jag hoppas att du ser förbi den löjliga nivån och förstår poängen ändå.

Skrivet av Yoshman:

Trots över 10 år som OS-programmerare har jag väldigt svårt att se hur man på något vettig sätt skulle kunna ta hänsyn till mikroarkitekturspecifika detaljer för flyttalsdelen. Många program använder ju inte ens flyttalsdelen, OS-kärnan kan inte "se" om en applikation är flyttalsintensiv eller ej. I koden för OS-kärnor brukar flyttal överhuvudtaget inte gå att använda utan manuell hantering från programmerarens sidan (gäller bl.a. Windows, MacOS och Linux).

Svårt ja, omöjligt nej. På något sätt klarade vi oss genom att hantera flyttal på separat processor tidigare. Vi skulle utan tvekan behöva någon workaround för existerande kod (troligen emulering) och kompilatorer skulle sannolikt behöva processorspecifika implementationer för flyttal.

Men det är ju bara ytterligare ett argument för AMD att implementera det som SMT istället för att separera ut flyttal, så åter igen stärker du bara mitt argument om att AMD kanske fixade mjukvara med hårdvara.

Skrivet av Yoshman:

För fallet som artikeln skrivet om är faktiskt den delade flyttalsdelen helt irrelevant. Flyttalsdelens beskaffenhet är också helt irrelevant i klassificering mellan "kärna" och SMT.

Om vi bortser från flyttalens existens helt och hållet skulle jag inte kalla Bulldozer FX-8xxx för något annat än 8 kärnor med parvis optimerad pipeline och cache. 8 instruktioner av godtycklig typ kan då exekveras samtidigt (med en offset i latens per par eftersom de inte kan starta exakt samtidigt). Som en konsekvens av den delade cachen kan dock samma data behandlas av två trådar samtidigt och leder därför till en extra väg att optimera prestanda.

Skrivet av Yoshman:

Hoppas detta fall inte får bifall i domstolen, men ärligt talat ser det rätt mörkt ut för AMDs del. Deras räddningsplanka kan bli att målsägaren pekar på saker som är totalt irrelevant, t.ex. att L2$ är delad (som är trivialt för AMD att visa att det har noll bäring på om det är "äkta" kärnor eller ej). Om målsägaren däremot plockar in någon som har minsta koll på t.ex. CPUID delen och vad det praktiskt betyder, d.v.s. att AMD själva definierat CPUn som 4C/8T, så har jag svårt att se en jury döma till AMDs fördel.

Jag tycker tvärt om att AMD inte har gjort något direkt fel här. Om kunderna förväntade sig lika många beräkningsenheter för flyttal som för heltal har de dels inte läst specifikationerna tillräckligt noga och dels känner inte till historien om x86 innan Intel 80386 där flyttal inte ens var en del av CPUn.

Är det en ovanlig konfiguration av beräkningsenheter? Ja.
Är det en missledande konfiguration av beräkningsenheter? Inte enligt mig.

Visa signatur

Mjölnir: Ryzen 9 3900X | X570-I | Ballistix Sport 32GB | Powercolor RX 5500XT 4GB ITX | Kolink Sattelite
Server: Ryzen 5 1400 | X470-F | Ballistix Sport 24GB | ASUS HD 7790 2GB | Sapphire RX 470 8GB ME | NZXT Switch 810

Permalänk

7z bench 1 tråd:

Compressing | Decompressing Dict Speed Usage R/U Rating | Speed Usage R/U Rating KiB/s % MIPS MIPS | KiB/s % MIPS MIPS Avr: 100 4460 4443 | 100 3946 3934 Tot: 100 4203 4188

7z bench 2 trådar låsta till "fel" kärnor, dvs på samma modul (schedtool -a 0,1):

Avr: 166 4262 7068 | 199 3501 6981 Tot: 183 3881 7025

^Gör ju endå mycket nytta för att inte vara en riktig kärna i detta fall?

7z bench 2 trådar låsta till "rätt" kärnor (schedtool -a 0,2):

Avr: 166 4769 7919 | 199 3946 7862 Tot: 183 4357 7891

Permalänk
Medlem
Skrivet av galenmyra:

hahah, amd och nvidia rebrandar kort för att det är industristandard, och det är industristandard eftersom amd och nvidia gör det? Alltså, det är den sämsta förklaringen jag kunde tänka mig att någon kunde komma med. Och nej det är inte samma sak som att rebranda ett 680 till 770, i det fallet har man gått upp en generation och gått ner en prestandaklass. I fallet med 7750 till R9 255 har man tagit ett av dom sämsta korten i budgetklassen, rebrandat det till ett kort som är ett par generationer nyare och dessutom satt beteckningen på det för AMDs toppklass R9, förstår du inte att det inte är samma sak?

Visst är det beklagligt att rebrands ens existerar MEN AMD sitter inte i någon ekonomiskt sits att utveckla helt nya kort för varenda generation. Vilket inte ens Nvidia gör (trots att deras budget är många gånger högre än AMDs). Däremot hur det skulle vara AMDs fel att en butiksanställd sålt en dator till någon som uppenbarligen inte är påläst förstår jag inte alls. Det är liksom inte deras ansvar att folk läser på eller hur? Sedan är inte R9 2xx serien någon generation nyare.. den är EN generation nyare. R9 2xx-serien efterföljde HD7xxx serien på desktop efter HD8xxx serien var mest för laptops och OEM datorer (kan jämföras med Nvidias 800-serie kort).

Det handlar inte om att jag inte förstår utan det handlar om att jag inte alls håller med dig om företags krav på att se till att det inte går att missförstå saker och ting. För det är i praktiken helt omöjligt.

Visa signatur

Fractal Design Meshify 2 Compact w/ Dark Tint | Intel i5 12600K | Asus ROG Strix B660-F | 32 GB Corsair DDR5 5600 MHz CL36 | MSI Geforce RTX 3060 TI Ventus 2X OCV1 | 512 GB Samsung Pro 850 SSD + 2TB WD Black SN850 NVME PCI-E 4.0 | Corsair RM750X |

Permalänk
Medlem
Skrivet av FattarNiInte:

7z bench 1 tråd:

Compressing | Decompressing Dict Speed Usage R/U Rating | Speed Usage R/U Rating KiB/s % MIPS MIPS | KiB/s % MIPS MIPS Avr: 100 4460 4443 | 100 3946 3934 Tot: 100 4203 4188

7z bench 2 trådar låsta till "fel" kärnor, dvs på samma modul (schedtool -a 0,1):

Avr: 166 4262 7068 | 199 3501 6981 Tot: 183 3881 7025

^Gör ju endå mycket nytta för att inte vara en riktig kärna i detta fall?

7z bench 2 trådar låsta till "rätt" kärnor (schedtool -a 0,2):

Avr: 166 4769 7919 | 199 3946 7862 Tot: 183 4357 7891

Ser ut som ett bra exempel på tunga heltalsberäkningar, ungefär den prestandaskillnad jag skulle förvänta mig med Bulldozers arkitektur. Precis som @Yoshman säger har de delad "fetch" och "decode" och det begränsar ju hur snabbt du kan dra igång nya beräkningar på kärnorna i samma modul:

Visa signatur

Mjölnir: Ryzen 9 3900X | X570-I | Ballistix Sport 32GB | Powercolor RX 5500XT 4GB ITX | Kolink Sattelite
Server: Ryzen 5 1400 | X470-F | Ballistix Sport 24GB | ASUS HD 7790 2GB | Sapphire RX 470 8GB ME | NZXT Switch 810

Permalänk
Medlem
Skrivet av Djhg2000:

Jag tycker tvärt om att AMD inte har gjort något direkt fel här. Om kunderna förväntade sig lika många beräkningsenheter för flyttal som för heltal har de dels inte läst specifikationerna tillräckligt noga och dels känner inte till historien om x86 innan Intel 80386 där flyttal inte ens var en del av CPUn.

Är det en ovanlig konfiguration av beräkningsenheter? Ja.
Är det en missledande konfiguration av beräkningsenheter? Inte enligt mig.

Fast jag som själv har ägt en 386 då det begav sig vet att den jämförelsen inte är så bra, då man kunde köpa till en FPU och sätta i den tomma sockeln på moderkortet.
Något som är ganska svårt (omöjligt) på en dator med FX8150 cpu.

edit: kollade precis specifikationerna på AMD:s sida, och hittar ingen information om att FPU delas av 2 kärnor.
Står bara 8 cores 8 threads där, så även om kunden läste på så fanns inte informationen på den officiella sidan hos tillverkaren, och då är det inte så bra att skylla på att kunden inte läst specifikationerna.

https://www.amd.com/en/products/cpu/fx-8150

Visa signatur

I5 9600k@stock / Cooler Master Evo 212 / Gigabyte Z390 Gaming X / Corsair Vengeance LPX 16GB DDR4 3000MHz / MSI RTX2070 Gaming Z / EVGA 550 BQ / Asus VG27BQ 27" 165Hz

Ryzen 5 5600x@stock / Asus Rog Strix X570-E Gaming / Corsair Vengeance RGB Pro 16GB 3600MHz CL18 / MSI RTX3070 Suprim X / BeQuiet Pure Power 11 600W / Asus VG278Q 27" 144Hz