Verdens største: Ny monsterchip med 2.600 milliarder transistorer

Illustration: Cerebras

Glem alt om mikrochips og mobile processorer. Den amerikanske chipvirksomhed Cerebras har netop lanceret sin anden generation af chippen Wafer Scale Engine (WSE), og det betyder mere end en fordobling af antallet af transistorer - fra 1.200 milliarder til 2.600 milliarder - på samme fysiske wafer. I alt består chippen af 850.000 kerner.

Til sammenligning har verdens største GPU, NVIDIA's nye Ampere-based A100 54,2 milliarder transistorer.

Chippen er designet og udviklet til at afvikle store AI-algoritmer.

Illustration: Cerebras

»Inden for AI computing er store chips kongen, da de kan processere information mere hurtigt, producere svar på kortere tid og tid er den værste fjende AI-udvikling står over for,« siger Dhiraj Malik, vice president of hardware engineering hos Cerebras.

Chips produceres i dag på en siliciumskive også kendt som en wafer, hvor mange identiske processorer fremstilles ved siden af hinanden.

Læs også: Verdens i særklasse største chip skal bruges til kunstig intelligens

Alt-i-en chip

Illustration: Cerebras

Cerebras’ simple tilgang er at sammenkoble alle dele på waferen, så man ikke får mange identiske små chips, men en enkelt kæmpechip. Det skulle være en forholdsvis simpel måde at løse den største flaskehals ved afvikling af tunge AI-algoritmer med mange parametre, nemlig transporten af data frem og tilbage mellem processoren og den eksterne DRAM hukommelse, som sluger både tid og energi.

Den udfordring omgås hvis chippen er tilpas stor til at kunne beholde data i nærheden af processorkernene. Når den nye WSE-2 chip har dimensionerne 46.225 kvadratmillimeter, så skyldes det at den nuværende begrænsning på en siliciumskive ligger på 300 millimeter i diameter. De findes ikke større.

En af forklaringerne på at det nu er muligt at øge antallet af transistorer så markant, er fremstillingsprocessen. Her er Cerebras gået fra TSMCs 16 nanometer process og ned i en 7 nanometerprocess, også hos TSMC. Det betyder en fordobling af transistortætheden, og den fremstillingsproces skulle også være årsagen til at hastigheden vokser med 40 procent, mens energiforbruget er reduceret med 60 procent, ifølge TSMC. Hvis det lykkes TSMC at optimere sine fremstillingsprocesser og komme helt ned på 5 nanometer eller 3 nanometer, er det altså plads for nye forbedringer af den gigantiske chip.

Læs også: Samsung vil producere tre-nanometer-chips om to år

Illustration: Cerebras

Den nye gigantiske chip skal især bruges til High Performance Computing-klynger, bedre kendt som supercomputere, og Cerebras WSE-2-chippen er på vej i drift hos blandt andet amerikanbske Argonne National Lab, Edinburgh Parallel Computing Centre og Lawrence Livermore National Lab. Også medicinalproducenten GlaxoSmithKline bruger chippen.

Chippen fylder omkring en tredjedel af et standard rack i et datacenter, og forbruger omkring 20 kilowatt. Varmeudviklingen er så heftig at det kræver særligt udviklet hardware i form af et lukket vandkølingssystem og store blæsere.

Læs også: 552 petaflops: Dansk supercomputer blandt verdens største

sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først

Hvor mange bitcoins kan man mon mine i timen på sådan en ka'l, hvis man kan få lov til at fuske lidt efter fyraften? :-)

  • 11
  • 3

Kald mig bare fatsvag, men hvordan hulen designer man sådan et monstrum ? endsige router alle forbindelser mellem de enkelte transistorer ?

Jeg synes det er svært nok at route et 10cm x 16cm enkeltsidet print med kun en håndfuld komponenter på :)

  • 4
  • 1

Det kunne være interessant at høre noget om yield'et.

Jeg gætter på at der er en mekanisme der identificerer logiklynger med fejl, for så at deaktivere dem.

På en så stor chip, må der da være tusinder af fejl.

  • 1
  • 0

Wafer testing is a step performed during semiconductor device fabrication. During this step, performed before a wafer is sent to die preparation, all individual integrated circuits that are present on the wafer are tested for functional defects by applying special test patterns to them. The wafer testing is performed by a piece of test equipment called a wafer prober.

  • 0
  • 0

At tegne wafer masker er væsentligt nemmere end at rute print. De programmer jeg har prøvet er bygget omkring en copy-paste og matriks-filosofi. Dvs man tegner et element og det anvendes så som "stempel" igen og igen. Man kan sagtens opbygge elementer af flere mindre elementer og/eller under-matricer. Har man først lagt alle vejene til en transistor er opgaven "bare" at sikre at ind og ud sidder på en måde så elementerne kan kobles sammen. Det er selvfølge ikke "bare" når det kommer til stykket og man skal have mange signaler til at løbe, men det er lettere end PCB layout. Wafer-maske layout minder mere om at tegne i et CAD program beregnet til mekanik.

  • 3
  • 0

For digitalkredse vil man normalt beskrive den ønskede funktion i et højniveausprog som f.eks. Verilog, for dernæst at syntetisere det til logik ("gates"). Et place and route tool placerer så gates'ene og laver tracks. Man har et sæt standardceller (en DFF, en AND gate med 3 inputs, samt myriader af andre brugbare byggeblokke), som en eller anden i fordums tid har håndtegnet.

Cellerne er beskrevet med fan in, fan out, delays og alt muligt andet, denne information bruger syntesen så til at sørge for at setup hold for DFF'sene overholdes, lave clock drivere der kan drive de tilstedeværende kapaciteter, osv.

Place and route skal tage højde for design regler, som på forenklet vis er afstandsregler.

En ledning kan for eksempel ikke placeres 0,1 nm fra en anden ledning, idet de så måske "smelter sammen". Eller det er måske ikke tilladt at lave en transistor der er 1 mm lang.

Selv om det ikke er "bare lige", så hjælper de million-$ dyre tools med den slags.

Foundry, altså chip-fabrikken, leverer så standardceller, design regler, timing information mv, som tool'sene så bruger til at syntetisere chippen.

Fabrikken kører tjek af designregler når den modtager designet, men at det virker, er op til designeren (kunden). Fabrikken garanterer blot at et design der har passeret regeltjekket, kan "bages", men alle ved at der eksisterer fejl på chippen.

Man går selvfølgelig til grænsen for at få bedst ydelse, så fejl er en del af pakken.

Jeg har så forstået, at man tjekker de enkelte områder (f.eks. processorkerner), og deaktiverer de defekte. Chancen for at fremstille så stor en chip uden en eneste medfødt fejl, vil jeg vurdere til nul.

  • 5
  • 0

Jeg har så forstået, at man tjekker de enkelte områder (f.eks. processorkerner), og deaktiverer de defekte.

Og det er grundlæggende den mest effektive løsning til at hæve yield efterhånden som areal og transistorcount vokser. Hvis man kan deaktivere enkelte processorkerner eller små grupper af processorkerner, så betyder tusinder af fejl ikke det store når man har 850.000 kerner til at starte med. Men det er en spændende termisk udfordring.

  • 1
  • 0

For digitalkredse vil man normalt beskrive den ønskede funktion i et højniveausprog som f.eks. Verilog, for dernæst at syntetisere det til logik ("gates"). Et place and route tool placerer så gates'ene og laver tracks. Man har et sæt standardceller (en DFF, en AND gate med 3 inputs, samt myriader af andre brugbare byggeblokke), som en eller anden i fordums tid har håndtegnet.

Cellerne er beskrevet med fan in, fan out, delays og alt muligt andet, denne information bruger syntesen så til at sørge for at setup hold for DFF'sene overholdes, lave clock drivere der kan drive de tilstedeværende kapaciteter, osv.

Man kan gøre begge dele - både som René Fléron skriver, og som Henning Petersen skriver. Ulempen ved VHDL, er at mange kredsløbstyper kræver noget manuelt arbejde på fysisk niveau, f.eks. layout af afkobling, transistordimmensioneringer, og længden af baner kan også have betydning, blandt andet for forsinkelser. Et stort VHDL program, kan derfor være svært at gennemarbejde bagefter. Men, det afhænger meget af hvordan at VHDL koden skrives. Den kan laves, så der stort set ikke er et efterarbejde, andet end automatisk routing. Men, den kan også være en udfordring.

Ved en matrix router generer man et layout ud fra et system. Blokkene placeres lige op ad hinanden, og kobles derved sammen - de overlapper lidt hinanden. Man beskriver hvordan i et programmeringssprog, og kan også spejlvende blokke, f.eks. hver anden blok vandret og lodret, og anvende forskellige blokke efter et system f.eks. en kode. Et eksempel er et RAM layout. Her genereres både dekodere, kredsløb der opdeler ram'en i mange blokke, forstærkerkredsløb osv. på den måde. Når man anvender blokken, så importerer man den, og skriver de parametre på, som definerer blokken, f.eks. størrelse/addressebits, bits ind, bits ud, antal samtidige porte (f.eks. antallet af samtidige læse/skriveporte) og der kan være tekniske oplysninger, som f.eks. hvor mange substratkontakter der skal drysses ud over arealet. Oftest bruges præ-tegnede blokke, som sættes sammen, bestemt af kode. En matrix router bruges, hvor man ønsker stor tæthed af transistorer, f.eks. ram kredse, og hvor man ønsker at have styr på et layout ned i mindste detalje. Og ved store layouts, hvor der spares tid til routing. Ved et ram lager, vil designeren typisk have manuelt designet og routed en ram celle, og denne placeres efter et system. Designeren har styr på, hvordan at routingen er, i de forskellige konfigurationer som ram-cellen sættes sammen, og kender derfor eksakt routingen. Der kan også anvendes blokke der er automatisk routed som del af det, men formålet er ofte at have styr på layoutet ned til nanometer, så man kan presse komponenterne tættest muligt, f.eks. i ram'er og lignende.

  • 2
  • 2

Jeg tror at regnekraft vs. forøgelse af antallet af kerner skalerer efter en logaritmefunktion, eller noget i den stil. Men det må også afhænge af softwaren.

Der må være rigtig meget at vinde ved at optimere softwaren. I dette tilfælde er der også mere delay imellem de fjerneste kerner, dels pga tidskonstanten givet ved gates'enes udgangsimpedans og ledningernes kapacitet, men også signalets tidsmæssige forsinkelse.

Så hvis programmøren kan angive hvilken kerne en given beregning skal udføres på, og sådan kan lade hyppig og tidskritiske operationer udføre på kerner med kort fysisk afstand, må der være meget at vinde.

Så er der også problemet med processer der blokerer for hinanden, dvs A venter på resultatet fra B. Så A og B skal helst tage omtrent samme tid at færdiggøre.

Endvidere er der matriceberegningsmetoder så som Krylovs, hvor den store matrice kan løses i bidder, for senere at blive stykket sammen igen.

Og selve organiseringen af regnestykket. Hvis det ene hjørne af matricen er nærmest totalt uafhængigt af det andet, kan opnået konvergens af bidderne betyde at den endelige løsning vil være de sammenstykkede bidders løsning. Forestiller jeg mig da.

Hvad skete der med AI og analoge computere?

  • 1
  • 0

Jeg tror at regnekraft vs. forøgelse af antallet af kerner skalerer efter en logaritmefunktion, eller noget i den stil. Men det må også afhænge af softwaren.

Og opgaven. I de fleste tilfælde scalerer det linært, eller linært delt med log, altså linært ved store n.

Ved AI er der næppe problem med scaleringen, da det grundlæggende beror på parallelle algoritmer fra naturen. Men, det er muligt, at vi ikke umiddelbart kan bruge de sekventielle algoritmer der er udviklet uden de omberegnes til at være parallelle.

  • 0
  • 0

Der er ikke noget, der hedder 20kW i timen. Det svarer til at sige, at du kører 80km i timen i timen. Effekt [W] er en per-tid-enhed, så "i timen" er indbygget i enheden.

  • 2
  • 0
Bidrag med din viden – log ind og deltag i debatten