Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 43 reacties

Nvidia heeft tegenover Infoworld te kennen gegeven dat het zijn Tesla-gpu's gaat voorzien van 64bit ARM-cpu's. Met een zuinige ARM-cpu zouden de Tesla-kaarten niet meer gecombineerd te hoeven worden met cpu's van Intel of AMD, die vaak behoorlijk veel stroom verbruiken.

Volgens Steve Scott, hoofd van Nvidia's technologie-afdeling, zal Nvidia dit decennium 64bit ARM-cpu's toe gaan voegen aan zijn Tesla-gpu's. Nvidia werkt al aan een system-on-a-chip op basis van de ARMv8 64bit-architectuur, onder de codenaam Project Denver. Deze soc moet de Tegra 3 gaan opvolgen, en kan in smartphones maar ook in servers gebruikt worden. In een later stadium zal het cpu-gedeelte van de soc mogelijk geïntegreerd worden in de Tesla-producten.

Tesla-gpu's worden voornamelijk ingezet bij servers, om dienst te doen als gpgpu. Zo werd de meest recent supercomputer voorzien van ruim 18.000 Tesla-gpu's, die bijgestaan worden door evenzoveel cpu's van AMD. Dat is nodig omdat gpu's wel heel goed zijn in parallelle taken, maar sommige seriële taken niet kunnen afhandelen en zeker niet met de snelheid waarmee een cpu dat kan. Het is dan ook geen onlogische stap om de Tesla-gpu's te voorzien van kleine ARM-cpu's, die een aantal seriële taken voor hun rekening kunnen nemen, maar ook erg energiezuinig zijn.

De reden dat Nvidia dit nu pas gaat doen komt door de 64bits-architectuur. Die biedt genoeg ruimte voor veel geheugen, terwijl ARM's 32bit-cpu's met maximaal 4GB-geheugen overweg kunnen. ARM's 64bit-soc's, de Cortex A50-serie, werden eind oktober aangekondigd. Wanneer Nvidia zijn eerste Tesla-producten met geïntegreerde ARM-cpu uitbrengt, kon Nvidia nog niet zeggen.

Reacties (43)

Reactiefilter:-143041+129+29+33
Moderatie-faq Wijzig weergave
Het zal Nvidia vast een keer lukken dit plan, maar voorlopig is het nog een pipe-dream van Nvidia om de dure intel cpu's kwijt te raken.

Probleem is eigenlijk dat de gpu's zo snel zijn dat de cpu's ze niet meer goed kunnen bevoorraden en je dus erg capabele CPU nodig hebt.

Een paar ARM cores zijn veel te traag daarvoor. Ik heb hier 16 CPU-cores nodig om een enkele Tesla (vorige generatie) te bevoorraden. Zo snel is die Tesla. Nu ga ik het binnenkort proberen met 8 Xeon cores. Maar hoe of dat dit gaat lukken weet ik niet. Dat is echter hetzelfde als rond de 100 ARM cores.

Dus al doet de tesla het harde multibit factorisatie werk. De primebase moet geupdate worden op de CPU. An sich is dat veel minder werk dan wat de GPU doet - maar hij is nu eenmaal zo enorm veel sneller dan een CPU, dat je dus ook aantal CPU cores nodig hebt om de GPU te bedienen. Dat lukt dus niet met een paar ARM cores.

Dus in de HPC waar de Tesla wordt ingezet en al helemaal de nieuwe tesla die rond de 3500 dollar per stuk moet opbrengen, dan komt daar nog 21% BTW overheen natuurlijk voor de Ollanders.

Dan is er nog de connectiviteit met de rest van het netwerk. Daar wil je enorme bandbreedte doorheen pushen. Dat lukt goedkoop op dit moment alleen met FDR infiniband.

Nvidia heb ik nog niet over oplossingen gehoord daar - dus er ARM cores ingooien - leuk extraatje natuurlijk. Liefst heb ik eigenlijk 2000 ARM cores in zo'n gpu zitten ipv gpu cores @ 1.15Ghz.

Want een ARM core kan veel meer dan een gpu core. Maar een paar ARM cores die leggen het compleet af tegen CPU cores.

[Reactie gewijzigd door hardwareaddict op 2 november 2012 16:36]

Da's dan de kans voor nVidia om met Oracle samen te werken want als er iemand is die snelle multithreaded cpu's maakt zijn zij het wel. Een setje SPARC T5 monsters in combinatie met een paar van die nieuwe Tesla's moet bizar veel werk kunnen verrichten. Je zal wel een karrelading geld moeten meenemen...
Eigen wil je gewoon een 4096 core Intel Xeon. Dan kun je gewoon vrij simpel parallel programmeren met bestaande tools. Maar duurt nog even voordat we daar zijn, if ever.
Dat gaat nooit lukken met de huidige technologie - het probleem is onder andere de cache coherency. Elke write naar elke cache wordt gecommuniceerd met vrijwel elke cache van elke cpu.

Dat werkt dus grotendeels gecentraliseerd.

Met tientallen cores is dat al onbegonnen werk eigenlijk. Nu hebben ze 't wat gefaseerd. Eerst een L1 dan een L2 en dan een centrale L3 cache.

Het woord 'centraal' is niet mogelijk met duizenden cores. alles moet dan decentraal.

Dus het 'cpu concept' zoals we dat kennen komt te vervallen in absolute zin.

Wat wel relatief simpel zou zijn, is een manycore bakken met zeg honderden cpu's,
waar je dan HANDMATIG de cache coherency doet op een soort van MPI achtige manier.

De SIMD laat je dan compleet vervallen. Wel maak je het ding 64 bits. Dus maximale wordgrootte is dan 64 bits.

De latency mag dan bar slecht van verre core naar verre core, zeg enige honderden nanosecondes, maar dat zou haalbaar zijn. Een paar crossbars op de CPU merk je bijna niet dan op in aantal transistors ten opzichte van wat al het centraal regelen van dingen nu kost.

Kijk DAT zou een geniale CPU zijn voor ondergetekende.

Probleem is dat ze 'm voorlopig niet gaan bouwen.

Zo'n manycore CPU is in theorie te bouwen.

http://en.wikipedia.org/wiki/Transistor_count

Penitum-3 was natuurlijk een geniale core en erg energiezuinig. Die had 9.5 miljoen transistors nodig. Een 64 bits core an sich zou niet meer moeten kosten dan die 10 miljoen transistors.

Dan kun je dus met caches en vanalles erbij zo rond de 128 van die cores op zeg 2.0Ghz wel op 1 cpu krijgen @ 2 miljard transistors, maar dus zonder automatische cache coherency.

Dus elk parallel rekenend programma, moet dan een speciale library gebruiken cq handig gescheduled worden op de CPU.

Zo'n soort CPU zou dan 256 Ghz in totaal leveren potentieel. Zo Iets zou alle GPU's ook compleet wegblazen voor alles behalve floating point.

Intel was een keer begonnen met het bouwen van zo'n CPU volgens eigen zeggen (niet te verwarren met larrabee later omgedoopt naar knight xyz wat een hopeloos ding is met 512 bits vectors, wat natuurlijk compleet hopeloos programmeren is met zulke enorme vectoren), maar daarna zwegen ze erover. De testversies ervan heb ik ook nooit gezien - ofschoon ik er 1 aanvroeg. Dus intel is nooit serieus op dit plan ingegaan.

Als we tegen bovenstaande 2Ghz @ 128 core Pentium-3 cpu dan de huidige i7 afzetten. Die is qua IPC iets sneller, maar niet zo heel veel als dan dat je dat met een ARM core zou krijgen. procent of 30 voor de integer codes hier. Dat is dan met hyperthreading meegerekend.

3.9Ghz * 6 cores * 1.3x sneller = 30.42Ghz aan P3 power.

Factor 8 trager dus dan de virtuele manycore Pentium3 cpu.

Nog steeds legt zo'n 128 core CPU het dan compleet af in floating point power tegen de K20.

Zo'n 128 core ding zou dan, als we uitgaan van 64 bits cores aan Gflops leveren, daarbij aangetekend dat er maar 1 multiplication unit is per CPU die multicycle throughput is dus
niet 2 flops per cycle levert:

128 cores * 3 instructies per clock * 2Ghz = 0.768 Tflop

Dat is een theoretisch getal hoor, veel theoretischer dan van de Nvidia K20 die dus naar verwachting 2 Tflop levert (Nvidia geeft zelf aan dat hij 3x sneller is in double precision dan de M2070 en dat zou dan dus 2 Tflop moeten zijn).

Op 64 bit integer gebied en voor de software die goed wordt geschreven voor zo'n 128 core P3 cpu, dat blaast allemaal natuurlijk elke andere cpu of gpu weg.

Het is overigens wel mogelijk om met de hand iets te bouwen dat geen automatische cache coherency heeft maar wel enorm veel cores. Zo iets heet een cluster :)

p.s. zo'n virtuele 128 manycore cpu zou onder heel veel wetenschappers enorm populair worden, die doen alles toch al via MPI namelijk, dus dat vormt geen probleem.

vooral de NSA's van alle landen zouden er veel van bestellen. Dus een aantal miljoen ervan drukken gaat wel lukken, als hij niet al te duur is.

Intel gaat dat echter niet snel overwegen. Want zeg 50% winst erop en dat zo'n cpu voor een dollar of 150 per stuk gedrukt wordt (yields zijn enorm goed want kapotte cpu's schakel je gewoon uit op manycores). Zeg verkocht voor 500 dollar per stuk.

Bruto winst erop, waarvan wel de investering ook terugbetaald moet worden: $350.

Dat keer paar miljoen = potentie van 700 miljoen winst.

Dat is veel te weinig voor intel. die willen minimaal 20 miljard kunnen verdienen per CPU design, anders dan beginnen ze er niet aan.

DAT is het kernprobleem waarom zo'n cpu niet bestaat.

Je winstverwachting ligt rondom en nabij de 1 miljard dollar. Dat vinden de heren TE WEINIG. Ik ga overigens geen waardeoordeel daarover geven, want zelfs het kleine fabriekje van AMD kostte al 4.6 miljard dollar om te bouwen - dus CPU's die minder dan
de prijs van 1 fabriek opleveren - die worden gewoon niet gebouwd.

Wat heel jammer is voor de nerds...

Eigenlijk alleen de gamers worden bediend... ...met quadcores die ze voor 30 dollar drukken... ...en verkopen voor honderden dollars per stuk.

[Reactie gewijzigd door hardwareaddict op 2 november 2012 21:04]

Seco had al een lange tijd geleden zoiets gemaakt:
Tegra3 SoC + Quadro graphics
http://www.nvidia.com/object/carma-devkit.html
In hoeverre zijn deze GPU's dan vergelijkbaar met de APU's van AMD? het klinkt alsof ze zeer veel overeenkomsten hebben.
APU's van AMD zijn veeeel zwakker, die kun je niet in super pc's gebruiken ;) .

http://www.nvidia.com/obj...rcomputing-solutions.html

Specs:
Peak double precision floating point performance 190 Gigaflops (95 Gflops per GPU)
Peak single precision floating point performance 4577 Gigaflops (2288 Gflops per GPU)
Memory bandwidth (ECC off) 320 GB/sec (160 GB/sec per GPU)
Memory size (GDDR5) 8GB (4 GB per GPU) CUDA cores 3072 (1536 per GPU)

Er is ook nog een (fermi) Tesla met 665 Gigaflops bij de Peak double precision floating point performance.
http://www.nvidia.com/object/tesla-servers.html

Ter vergelijking een 7660D APU heeft slechts één floating point unit.
http://www.tomshardware.c...-5600k-a6-5400k,3224.html

[Reactie gewijzigd door sdk1985 op 2 november 2012 14:03]

Ter vergelijking een 7660D APU heeft slechts één floating point unit.
Die éne floating point unit zit dus in de CPU, daar heeft tesla er op dit moment dus nul van. Als je het over shaders van de GPU hebt, daar heeft een AMD APU er ook enkele honderden van (afhankelijk van het model), die het opnemen tegen de CUDA cores. De HD7660D heeft ook 700 gigaflops (aldus een snelle google-query). Maar ook een CUDA-core is niet één-op-één vergelijkbaar met een VLIW-shader van AMD, en die ook weer niet met een GCN-shader, de huidige vervanger die vanaf de HD7000's gebruikt wordt.

Maar ja: een APU is een redelijk krachtige CPU met een low-end tot mid-range GPU, en tesla is gewoon een high-end GPU die binnenkort dus een zéér lichte CPU krijgt. Maar het is en blijft slechts een GPU, die niet veel krachtiger is dan high-end radeons of geforces. Hoogstens beter gericht op een aantal specifieke taken (DP-performace, meer geheugen, etc.).

[Reactie gewijzigd door bwerg op 2 november 2012 14:52]

Van je verhaal klopt niet veel...
quote: bwerg
Maar het is en blijft slechts een GPU, die niet veel krachtiger is dan high-end radeons of geforces
De genoemde Tesla's bevatten een GK110,de GTX680 hebben een GK104. Ze zijn dus wel veel sneller :
http://www.anandtech.com/...0-gk110-based-tesla-k20/2
quote: Anandtech
As it stands a complete GK110 is composed of 15 SMXes – note that these are similar but not identical to GK104 SMXes – bound to 1.5MB of L2 cache and a 384bit memory bus. GK110 SMXes will contain 192 CUDA cores (just like GK104), but deviating from GK104 they will contain 64 CUDA FP64 cores (up from 8, which combined with the much larger SMX count is what will make K20 so much more powerful at double precision math than K10.
Mbt GFLOPS:
quote: bwerg
De HD7660D heeft ook 700 gigaflops (aldus een snelle google-query).
Twee problemen, die 700 gigaflops is niet van de GPU maar van de cpu+gpu:
quote: AMD
AMD GFLOPs calculated using GFLOPs = CPU GFLOPs + GPU GFLOPs = CPU Core Freq. (3.8GHz) X Core Count (4) X 8 FLOPS + GPU Core Freq.(800MHz) X DirectX® 11 capable Shader Count (384) X 2 FLOPS.
http://www.amd.com/us/pre...d-a-series-2012may15.aspx

Daarnaast is niet gespecificeerd wat er is gemeten. Kan best zo zijn dat het 700 vs 4577 is wie zal het zeggen...
quote: bwerg
Maar ja: een APU is een redelijk krachtige CPU met een low-end tot mid-range GPU
Een APU bevat helemaal geen krachtige cpu... AMD loopt juist mijlen ver achter in performance (zowel totaal als per watt):
http://www.cpubenchmark.net/cpu_list.php
Snelste amd zit op 4897, snelste Intel op 10374.

Blijft wat mij betreft niks over van je verhaal, APU is gewoon niet geschikt voor een supercomputer. Dat was het punt en dat blijft zo.

[Reactie gewijzigd door sdk1985 op 8 november 2012 23:16]

Ik zeg toch ook niet dat het geschikt is voor een supercomputer? Ik zeg alleen dat de GPU van een gemiddelde radeon of geforce in de zelfde orde van grootte ligt als die van tesla's, en i.t.t. tot een CPU. Het grootste deel van de SP FLOPS van een APU zal in de GPU zitten, niet in de CPU. En ook over de CPU bedoel ik krachtig in orde van grootte van high-end CPU's, i.t.t. ARM-CPU's die nog echt een aantal maten kleiner zijn.

Passmark is trouwens een erg slechte indicatie, ook voor simpele benchmarks.

[Reactie gewijzigd door bwerg op 12 november 2012 11:41]

Sha1 (256bits) hashes berekenen (oftewel bitcoins minnen) is een AMD weer de koning, dus het hangt helemaal van af wat die supercomputer voor berekening moet doen...
SHA1 is 160 bit, SHA256 is 256 bit.
Bitcoin is een sha256 hash systeem:

BitCoin uses the SHA-256 hash algorithm to generate verifiably "random" numbers in a way that requires a predictable amount of CPU effort. Generating a SHA-256 hash with a value less than the current target solves a block and wins you some coins.

bron: bitcoin wiki
APU's van AMD zijn veeeel zwakker, die kun je niet in super pc's gebruiken
Als je maar genoeg AMD APU's hebt kan je er prima een supercomputer van bouwen, of het rendabel is om dat te doen is een tweede...

[Reactie gewijzigd door Just_Michel op 2 november 2012 14:19]

Dat verhaal over stroomverbruik is natuurlijk een mooi excuus, maar de grote stap is dat nVidia zo niet meer afhankelijk is van hun grootste concurrent. Intel zit met Knight's Corner exact in hun vaarwater, en elke dollar naar Intel is er 1 teveel, met eigen gebakken ARM cores houden ze tenminste de ontwikkeling in eigen huis.

Benieuwd hoe AMD dit gaat vinden, die hebben net aangekondigd dat ze dezelfde strategie te gaan volgen.
Toen de Intel voorlichter zijn sheets liet zien over Knights Corner, of hoe hij nu dan ook mag heten, kwamen er eerst 6 sheets met disclaimers.

Intel is natuurlijk kansloos in manycore area op dit moment. Het idee van een hybride manycore is lachwekkend.

Intel is goed in hooggeklokte CPU's produceren die veel stroom vreten en dit dan te doen met een minimaal aantal transistors.

Laat ze dat blijven doen. CPU's zijn generiek en erg nuttig.

AMD heeft niks te vinden. Die kan het nog een paar maanden uitzingen tot ze bankroet zijn.
Die bulldozer is zo'n lachwekkende CPU dat ze 'm nu bijna gratis weggeven aan de HPC. Dat soort acties rekt het leven van AMD nog een beetje - maar de oude 12 cores zijn voor niet-SIMD code (die toch al op de Nvidia Tesla's loopt) pokketraag.

Vergis je niet dat AMD niet 1 bedrijf is. Er staan nog AMD stickers op de GPU's en op de CPU's, maar het is in verschillende bedrijven uiteengevallen.

Nvidia's plan hier om dus de hele kast te leveren ipv alleen een co-processor die het botte rekenwerk doet, dat is natuurlijk niet zo interessant voor de klandizie, want dat plan is niet bijster goed.

Het sterke punt van de PC is dat je zelf de hardware kunt assembleren zoals je zelf wilt.

Cray die gooit nu dus 4 nieuwe K20 tesla's in een enkele node met 4 AMD cpu's erbij.

Kijk DAT is de kracht van de PC.

Als Nvidia 1 kastje levert met alles erin - dan is dat gewoon voor een groot deel van de klandizie niet handig. Zo'n kastje wordt megaduur en gaat natuurlijk niet genoeg bandbreedte hebben richting het netwerk.

Op dit moment hebben klanten ruim keuze. Goedkope maar trage AMD cpu cores, of snelle intels die enorm duur zijn. Edoch die K20 is ook niet goedkoop. Rondom de 3500 dollar, mag de BTW er nog bovenop.

Dus dan is de PC totaal superieur aan wat Nvidia kan leveren. Een paar ARM cores is compleet nutteloos voor de meesten.

Het feit dat Nvidia zijn prijs van de nieuwe K20 vet omhoog gegooid heeft t.o.v. de nieuwprijs van de enorm succesvolle Fermi Tesla kaarten toen die paar jaar geleden uitkwamen, dat vertelt je genoeg over hoe kansloos de concurrentie is om hiermee te concurreren.

Nvidia levert 2 Tflop double precision per K20 Tesla kaart.

Het meest optimistische geluid avn intel kunnen we uitleggen als iets minder dan 1 Tflop, maar dan mag je daar vast wel de hoofdprijs voor betalen.

Met die K20 van Nvidia, daar kan NIEMAND performancewise mee concurreren.

Bij SARA staat op dit moment meen ik nog de power6. Die is iets van 0.6 Tflop per node. Elke node vreet dan 6 of 7 kilowatt ofzo en nieuwprijs goh wat was het 1.5 ton (in euro's) per node?

En dat is dan niet 1 processor ofzo. Maar hele bende processoren.

Nvidia levert voor rondom de 3500 (prijsopgaves moeten nog volgen online, we hebben 1 site die 'm list nu) dus een kaart die 2 Tflop levert DOUBLE PRECISION.

Hier kan niemand bij in de buurt komen.

Vind je het gek dat Nvidia nu een plan ontwikkelt, zoals ze jaren geleden al aangaven, om wat normale cpu cores er bij te bakken en dan de aansturing via een PC van hun kaarten helemaal kwijt te raken?

[Reactie gewijzigd door hardwareaddict op 2 november 2012 16:54]

Uhh dat AMD bankroet gaat valt echt wel mee hoor. :)

De HD7000 serie zijn topkaarten voor een goeie prijs en ook nog eens vele malen sneller dat de GTX600 serie met betrekking tot GPGPU berekeningen. Dus als de Tesla's op de GTX600 gebasseerde kaarten komen dan zijn deze totaal niet interessant omdat de GK104 en de volgestopte GK110 niet interessant omdat ze gewoon trager zijn op GPGPU.

En dat de Bulldozer een lachertje is valt ook wel mee, ondanks dat de nieuw piledriver meer verbruikt zijn ze wel even snel is t niet sneller dan de i5 ivy bridge. En onder Linux zijn de Piledrivers soms zelfs sneller dat de Intel Core i7 3890x.

Dus het valt allemaal echt wel mee hoor.
En niet te vergeten dat ze, tenzij er iets gewijzigd is, alle 3 de consoles mogen volstoppen met hun chippies. Dat zijn ook geen kleine aantallen.
De nieuwe xbox en ps krijgen idd een APU aan boord en er kwam geloof ik ook een xbox uit met crossfire dus APU en 1 7560.
Well grappig om te zien dat juist hier Nvidea met de grote concurrent AMD samenwerkte.
Nee, NVIDIA maakt zijn eigen ARM processoren. Net zoals AMD zijn eigen ARM processoren maakt. ARM is slechts een architectuur, waarop iedereen een licentie kan nemen om zelf de processors te maken:

http://en.wikipedia.org/wiki/ARM_Holdings
Business model

Unlike other microprocessor corporations such as AMD, Intel, Freescale (formerly Motorola) and Renesas (formerly Hitachi and Mitsubishi Electric),[28] ARM only licenses its technology as intellectual property (IP), rather than manufacturing its own CPUs. Thus, there are a few dozen companies making processors based on ARM's designs. Intel, Samsung,[29] Texas Instruments, Analog Devices, Atmel, Freescale, Nvidia, Qualcomm, STMicroelectronics and Renesas have all licensed ARM technology. In the fourth quarter of 2010, 1.8 billion chips based on an ARM design were manufactured.
Dan vergeet je alsnog een ander detail wat overigens bijna iedereen vergeet: Er is een verschil tussen een ARM instructieset en een ARM core. Beiden kun je los licenseren bij ARM.

De ARMv7 instructieset is de laatste 32bit ARM instructieset, de ARMv8 instructieset is de laatste (en eerste) 64bit ARM instructieset. Nu zijn er verschillende core (CPU) ontwerpen die deze instructieset(s) implementeren. De meest gebruikte core ontwerpen zijn die van ARM zelf (Cortex-A8 etc.) maar er zijn ook bedrijven die alleen de instructieset licenseren en een eigen core erbij ontwerpen (zoals Quallcom met de Krait).

En qlum, het is nVidia, niet Nvidea..
nVidea is het (heel) oude logo. Tegenwoordig gebruikt nvidia zelf alleen hoofdletters (NVIDIA) maar dat is in nieuwsberichten en comments heel onrustig en schreeuwerig waardoor Nvidia een geappecteerde vorm is. Eigenlijk is nVidia niet de goede vorm, je zegt toch ook geen ATi meer?
De genoemde supercomputer is door Cray gebouwd, niet door AMD en Nvidia.
Worden het dan geen stand alone kastjes, ter grote van een brood trommel die je kunt clusteren in een groot rack?

Zou voor veel scholen misschien ook wel interessant zijn. Denk aan universiteiten en dergelijke. Een kleine super computer bijvoorbeeld.
Meeste universiteiten hebben hoegenaamd geen programmeurs die goed genoeg zijn om hiervoor te programmeren - dus het begint nu pas langzaam te komen.

We zien nu langzaam hoe de NCSA's en wetenschappers die enorme matrixcalculaties doen, hoe die nu langzaam overstappen. De NCSA verwachtte rond 2007 dat ze al in 2010 zouden zijn overgestapt. Dat is dus niet gebeurd. In 2012 zijn ze dus maar voor 50% overgestapt op nvidia. An sich een goede keuze.

Er liggen nog relatief weinig CUDA codes publiek op het internet die echt goed bruikbaar zijn voor de publieke wetenschappers. Dit waar het toch algemeenbekend is dat de meeste industrien al sinds vele jaren op gpu's rekenen.

Die houden hun codes streng geheim echter - met goede redenen.

Dus er zijn niet zoveel 'goede' voorbeelden van hoe het WEL moet.

Daar komt bij dat gewone huis en tuin gpu's van geen meter kunnen rekenen. Alleen de dure Tesla's kunnen dat. Ook ATI (amd) geeft aan de toekomstige gpu's meer en meer te beperken voor OpenCL ten aanzien van double precision rekenwerk.

Bij Nvidia zien we zelfs een split tussen de gpu's. Eentje die speciaal gebouwd is voor de gamers en eentje die 3500+ dollar gaat kosten, de K20, die echt goed gpgpu kan rekenen, voor de wetenschappers.

Dus men groeit er nog niet zo mee op om daarvoor te programmeren wegens de enorme prijs van de Tesla's.
Daar komt bij dat gewone huis en tuin gpu's van geen meter kunnen rekenen.
Grapje zeker? Vergelijk de GFLOPS van een doorsnee videokaartje eens met een CPU. Zie bijvoorbeeld folding@home waar ze graag thuisgebruikers voor werven.

En waarom zou je niet kunnen leren programmeren op een net wat minder snelle (maar nog steeds erg snelle) videokaart, die verder dezelfde functionaliteit heeft? Een game-kaartje erbij is nog steeds enorm krachtig vergeleken met code op de CPU draaien hoor. Het is meer dat zoiets niet echt in het standaard (bachelor-)curriculum voor informatica past, het is te specialistisch en weinig zinvol als algemeen leerdoel.

[Reactie gewijzigd door bwerg op 2 november 2012 22:33]

Vrijwel alles en iedereen in de wetenschap heeft 64 bits floating point of 64 bits integers nodig of 32 bits integers nodig.

De geciteerde gflops van gpu's zijn voor single precision (32 bits) meestal en niet double precision. Single precision flops is alleen voor het spelen van spelletjes interessant.

Gros van de publieke wetenschap op universiteiten doet aan double precision berekeningen, met name matrix berekeningen en FFT achtige transforms. Hier gaat het gros van de supercomputer tijd aan op. De meerderheid.

Dan is er nog een actief integer gebied waar nauwkeurig rekenen belangrijk is (denk aan NSA maar ook allerlei soortgelijke gebieden met soortgelijke berekeningen).

Die 2 bij elkaar vreten zo'n 95% van alle systeemtijd van wetenschappers.

De hele 'biologie' bijvoorbeeld vreet bijzonder weinig (afgezien van dat het berekenen van DNA sequences weer double precision nodig heeft - en dus in groep 1 hierboven valt van die 95%), maar dan nog vreeet dat bij elkaar minder dan 0.5% van alle systeemtijd.

Dit alles lukt *enkel en alleen* heel goed op Nvidia's Tesla.

En die is duur.

Voor AMD's gpu's bestaat geen goede transform. Een paar Pakistani hebben dat geprobeerd op te zetten voor AMD, maar dat is een vrij lachwekkende efficiency die zij behalen. Die doen het op de trage manier.

Nvidia's eigen library is daar enorm superieur. Dan ben je er nog niet op supercomputers, want het moet nog geparallelliseerd worden over de machines.

Op het moment dat je heel veel machines in de strijd gooit, is kans op bitflips een stuk groter, als je het middelt over zoveel machines. Dus nauwkeurige gpu's zijn dan nodig.

Gamer gpu's zijn veel te hoog geklokt en onnauwkeurig. Als je een keer een foutief berekend pixel hebt dan is dat no big deal, maar het kan een maandenlange matrixberekening compleet in de war gooien.

Dus je hebt een onderklokte gpu nodig die ook nog eens nauwkeurig werkt. Met andere woorden ECC is geen luxe. Het is een requirement.

Alleen de Tesla heeft dus ECC. Dit gaat verder dan alleen de RAM. Het gaat met name ook om de compute units zelf.

Dat zijn requirements - niet dingen waar je 'over kunt onderhandelen'.

In quantum mechanica reken je al ver achter de komma. Afrondingsfouten zijn al desastreus voor de uitkomst van je berekening - de ellende van bitflips door overklokte gpu's kun je je gewoon niet veroorloven.

Ook Nvidia's Tesla heeft al moeite om dit alles 'bugvrij' te doen. De gamers gpu's zijn onbruikbaar hiervoor simpelweg.

Dus single precision lukt dit alles niet. Wat je eigenlijk zou willen is alles met integers representeren, want dat rekent veel accurater en bij de grote transforms is accurater rekenen beter. Sterker nog, je kunt dan lossless rekenen. Dus zonder afrondingsfouten te riskeren.

Een double precision multiplicatie op de Tesla's is echter veel sneller dan een 64x64 bits integer vermenigvuldiging (om te beginnen hebben ze die 64x64 bits vermenigvuldiging niet).

De AMD gpu's afgezien van het missen van ECC wat ze al onbruikbaar maakt voor supercomputers en afgezien van feit dat ze te hoog overklokt zijn door AMD voor ze op de markt gegooid worden, die zijn enorm traag in 32 bits integer vermenigvuldigingen.

Beide instructies (je hebt er 2 voor nodig) hebben dus 4 cores nodig, dus je hebt 8 clockcycles nodig so to speak (verdeeld over 4 cores) om een enkele vermenigvuldiging uit te voeren (uitgaande van throughput en niet latency natuurlijk).

Dat is heel traag op AMD dus. Die is alleen snel voor spelletjes spelen, waar af en toe een bit omflippen in de resultaten niet zo belangrijk is natuurlijk.

Nvidia is veel sneller voor 32 bits integers dan AMD. 1 cycle voor de highbits en 1 ccle voor de lowbits. 2 cycles in totaal dus. Dan heb je 32x32 = 64 bits in totaal als output.

Double precision is even snel, ook 2 cycles, maar dan heb je 53 bits mantissa * 53 bits == 53 bits output (even theoretisch gerepresenteerd). In werkelijkheid heb je meer bits.

Het gaat in al deze gevallen enkel en alleen om vermenigvuldigen dus.

Vandaar dat de meeste transforms double precision gebruiken - want dat werkt sneller op de hardware. Bij sommige echt grote transforms ontkom je niet aan integers gebruiken overigens, simpelweg omdat ook double precision dan tekort schiet en te veel afrondingsfouten veroorzaakt.

Correct rekenen is ontzettend belangrijk.

Overigens CPU's leggen het enorm af tegen GPU's als het gaat om vermenigvuldigen. Om een simpele reden. Om het simpel te representeren:

Van die 4 instructies per cycle die een intel i7 kan decoden per cycle,
Kun je er maar maximaal 1 aanbieden bij de vermenigvuldigingsunit.

Die was dan ook nog niet eens enorm snel. Pas bij de laatste i7 revisies is dat wat sneller geworden (qua throughput). Die andere executie units doen dus niks nuttigs in die tijd voor de meeste wetenschappelijke software. Dan is het wel gevectoriseerd natuurlijk in AVX ondertussen, maar dat is weer heel ander verhaal. Het principe is en blijft dat men vermenigvuldigen wil en niks anders en CPU's zijn daar gewoon TRAAG mee en dat met zo weinig cores ook nog.

[Reactie gewijzigd door hardwareaddict op 3 november 2012 11:35]

Hopelijk weet je dat een tesla gelijk is aan een GTX? alleen wat extra geheugen voor specifieke doelen en wat kleine modificaties voor de berekeningen. Je kunt volgens mij ook gewoon gamen op een tesla kaart (al ben je dan wel gek bezig, koop dan een leuke set GTX kaartjes :P).

Tesla kaarten zijn gewoon gemaakt met extra support en gecertificeerd voor bepaalde software producten.
Als je dan dit weer leest, lijkt het of Intel/AMD/Nvidia/etc. steeds meer in elkaar vaarwater komen. x86 begint meer te overlappen met de ARM instructieset en GPU's nemen steeds meer taken over van CPU's.

Naast het samenvoegen van GPU en CPU in één GPGPU krijgen we ook meer system-on-a-chip soc's.

Het modulaire begint steeds minder te worden in dat opzicht. Ik ben benieuwd wanneer we zelf chips kunnen bouwen als een soort van Lego, dat is past grappig! :p
ik heb me ook altijd afgevraagd waarom er geen modulaire gpu's bestaan.
Ze hebben een mainboard van veelal dezelfde afmeting, geheugenchips, een cpu enz.
kon je gewoon 4gb ram op je gpu gooien als je hoge resolutie dingen doet (want alleen daarvoor is meer mem handig) en dan later een losse gpu inprikken.
GPU's hebben een bijzonder brede en korte bus naar hun geheugen, om de benodigde snelheden te halen. Sockets zouden de performance sterk verslechteren.
Dit is iets totaal anders en specifiek gericht op servers en supercomputers. Door een zuinige arm cpu te intergreren maak je een volledige X86 cpu overbodig bespaart weer een hoop stroom zeker op de schaal waarin deze dingen worden ingezet.
Als je ziet hoe krachtig de Tegra 3 is (gebaseerd op de 32 bits ARMv7 architectuur), en bedenkt dat een 64 bits ARMv8 core circa 3x zo snel is als zo'n ARMv7 core, dan kun je mooie systeempjes bouwen op basis van een Tesla plus ARMv8 cores.

Leuk voor de consument, en minder leuk voor Intel.
Hoe gaat dit samenwerken met een moederbord? Kun je een cpu over een pcie bus gebruiken? Een moederbord blijft nodig vanwege netwerk verbinding lijkt me
Je kan toch gewoon een chipset gebruiken voor de North en de South Brigde.

Op dit item kan niet meer gereageerd worden.



LG G4 Battlefield Hardline Samsung Galaxy S6 Edge Microsoft Windows 10 Samsung Galaxy S6 HTC One (M9) Grand Theft Auto V Apple iPad Air 2

© 1998 - 2015 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True