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 , , 42 reacties

Een onderzoeksgroep van de University of Wisconsin heeft op de Hot Chips-conferentie plannen gepresenteerd voor het maken van een opensource-gpgpu onder de naam Miaow. De gpgpu is gebaseerd op de Southern Islands-isa van AMD.

Een van de hoofdredenen voor het ontwikkelen van Miaow is het idee dat softwaresimulaties die draaien op bepaalde hardware vaak niet goed genoeg aangepast kunnen worden om nog betere prestaties uit een simulatie te kunnen halen. De onderzoeksgroep met de naam Vertical Research Group denkt dat ze met de Miaow een product kunnen ontwikkelen waarmee specifieke gpgpu-taken beter uit te voeren zijn, omdat directere toegang tot de hardware geboden kan worden.

De donderdag gepresenteerde gpgpu maakt onder andere gebruik van een subset van AMD's Southern Island-isa of instructiesetarchitectuur. AMD gebruikt deze instructieset voor zijn eigen gpu's en deze kan OpenCL-code uitvoeren. De prestaties lijken volgens The Platform 'indrukwekkend' in vergelijking tot bestaande gpu-resultaten.

Of dat snel zal leiden tot eigen chipproductie lijkt nog niet aan de orde, vooral omdat er inbreuk gemaakt wordt op intellectueel eigendom van verschillende bedrijven. Dat is onder andere het gevolg van het feit dat het hele project draait op een variant van AMD's isa. Daarom stelt teamleider Karu Sankaralingam dat het voor dergelijke opensource-hardwareprojecten van belang is te focussen op innovatie bovenop de als basis gebruikte hardware. Tot nu toe is AMD niet bij het project betrokken, buiten een enkeling die wat 'extra inzicht in architecturale elementen heeft verschaft'.

Als onderzoeksproject toont het aan dat het mogelijk is om met een kleine groep van slechts vijf mensen op hardwareontwerp en slechts enkele personen op het ontwerp van de compiler, de lay-out en fpga, binnen 36 maanden een functionerende opensource-gpu-implementatie te maken. De gpu kan niet-aangepaste OpenCL-programma's draaien.

De Miaow gpu-coprocessor kan tot 32 rekeneenheden aansturen. Elke rekeneenheid is via L2-cache gekoppeld met de geheugencontroller, waarna het apparaatgeheugen aangesproken wordt. De hostprocessor stuurt informatie naar de gpu en een dispatcher. Dit alles is geplaatst op een fpga en zo getest. Er zijn verschillende ontwerpen gemaakt met het Miaow-ontwerp.

De Miaow-gpu's zijn slechts bruikbaar als rekeneenheden en kunnen geen grafische beelden op een scherm tonen. Het project is te vinden op GitHub.

miaow gpumiaow gpu

Moderatie-faq Wijzig weergave

Reacties (42)

Erg goede ontwikkeling dit: gewoon kijken naar de technologische mogelijkheid, en niet naar intellectueel eigendom.
Het zou de wereld sieren om Intellectueel eigendom af te schaffen voor onderwijs instellingen/wetenschappelijk onderzoek.
Voordat je suggesties doet, is het misschien handig om te kijken wat de huidige situatie is. Onderwijs instellingen maar ook bedrijven mogen wetenschappelijk onderzoek zoals dit doen ongeacht "intellectueel eigendom". Patenten, copyright en merkenrecht zijn alle 3 alleen van toepassing in het economisch verkeer.
Aan de andere kant: dit stuk hardware lijkt in vrijwel iedere GPU enorm veel op elkaar (zowel in de mobile chips, als in de NV/AMD chips). Als ze het zover kunnen krijgen dat ze hun eigen ISA aan de hardware hangen kunnen ze al een redelijk eind komen. Het nadeel is dan dat ze ook hun eigen software infrastructuur op moeten zetten; iets wat ze nu overgeslagen hebben.
De industrie faciliteert dat ook. Fiks wat universiteiten krijgen elk jaar hele dure tijd in dure fabrieken om een aantal processoren GRATIS daar te bakken.

Simpelweg daar natuurlijk niet 1 universiteit anders in staat zou zijn om mensen op te leiden die in zo'n miljardenfabriek iets produceren kunnen.

We praten dus over paar honderd processors/gpu's per jaar - whatever you want to name it.

Dat is dus vanuit de industrie gezien een heel kostbare sponsorship richting de universiteiten.

Eventjes hele productieprocessen tijdelijk stilleggen...
Dat is het al, zolang je geen producten maakt, en het voor 'eigen gebruik' is, hoef je je niks aan te trekken van patenten of copyrights.
Als ik in mijn schuurtje aan het knutselen ga, en trots het resultaat in mijn vensterbank ten toon stel, hoef ik er niet bang voor te zijn dat ik een rechtszaak aan mijn broek krijg omdat ik inbreuk maak op een of ander patent.
Een universiteit is in die zin gewoon een grote schuur.
Leuk artikel, maar van die staafdiagram krijg ik buikpijn ... van het lachen wel te verstaan.

Kan iemand die mensen even uitleggen hoe een staafdiagram werkt?
Daar i inderdaad geen chocola van te maken:
  • Langs de y-as iets van relatieve performance
  • Dan overal gelijke groene blokken voor Miaow
  • Rood is AMD Tahiti, die is dus nergens te vinden
  • En de tekst in het grijs gaat over het verschil in performance tussen AMD Tahiti (die dus onvindbaar is in de grafiek) en een AMD-A10 APU
:?
Ik snap het denk ik: de rode staven zitten achter de groene. Als Tahiti op 1 algoritme beter zou zijn, zou er een stukje rood boven de groene staaf uitsteken, maar dat is niet het geval. Verre van duidelijk inderdaad
Rood is amd tahiti waar kan ik rood vinden in die hele grafiek?
Ja maar dit soort dingen zijn ook alleen voor studenten bedoeld.

Kijk om zo iets commercieel goedkoop te krijgen moet je eerst miljarden investeren al dan niet een bestaand commercieel team inhuren om een nieuwe gpu te bouwen zonder dat je last krijgt van nog actieve patenten.

Dus het is enkel voor universiteiten om studenten iets te laten doen en leuk mee te experimenteren.

Performance kun je natuurlijk niet verwachten uit een studentenprojectje.

Want dat kost nu net die miljarden :)
Leuk om wat meer keuze te krijgen op deze markt, al vraag ik me af of het qua prestaties mee gaat kunnen doen met "de grote jongens". Ook leunen erg veel bibliotheken (onder andere voor machine learning) zwaar op CUDA, wat natuurlijk bij lange na niet open source is. Het hangt er dus ook vanaf hoe veel gebruikt het in de praktijk zou kunnen krijgen.
Ik ben benieuwd!

[Reactie gewijzigd door bartvbl op 28 augustus 2015 11:30]

Ik denk niet dat het om performance gaat. Ik denk dat dit vooral een experiment is 'hoe implementeer ik een ISA volgens officieel beschikbare documentatie?' (is ook mogelijk bij x86). En ik denk dus niet dat dit gereleased gaat worden.
alleen x86 is closed source en zodra je daar hardware voor gaat maken krijg je intel op je nek.
De x86 ISA is gewoon open (hoe wilde je anders programmeren in x86 assembly?), maar is zwaar gepatenteerd.

En die ISA kan je dus implementeren omdat een instructie altijd hetzelfde resultaat moet opleveren.
Beter gezegd: de implementatie van de ISA is gepatenteerd. De ISA zelf is niet meer dan een lijst met algoritme-nummers: 0x33C0 = xor eax,eax bijvoorbeeld. Zo'n lijst is in beginsel niet patenteerbaar.
Maar je kan wel copyright hebben op zo'n lijst :p En in Amerika kan je dacht ik ook prima een patent op een 'idee' hebben.
Amerikanen zijn een beetje vreemd maar niet zo vreemd.

Een copyright op die lijst is niet mogelijk omdat het beschrijvend is. Telefoonboeken zijn om dezelfde reden niet copyrighted. Copyright eist een creatieve input.

Een copyright op de lijst is onwerkbaar omdat developers die lijst nodig hebben.

De mééste patenten zijn op ideeën. Deisgn-patenten zijn erg zeldzaam (de vorm van kleine cola-flesjes is bijvoorbeeld zo'n zeldzaam patent). Maar niet elk idee is patenteerbaar. "Het is mooi weer, laten we naar het park gaan" is geen patenteerbaar idee. Een patenteerbaar idee moet een concreet probleem oplossen, op een creatieve manier. Het idee van instructies nummeren is niet patenteerbaar, we nummeren al heel lang dingen.
Dat heeft niks met closed source te maken volgens mij, eerder met patenten.
Lang leven patenten. :(

[Reactie gewijzigd door Olaf van der Spek op 28 augustus 2015 11:49]

Cyrix had destijds toch een eigen implementatie gemaakt gebaseerd op de documentatie. Cyrix was zo ver ik weet de enige fabrikant die een x86 implementatie had zonder licentiegelden aan Intel af te hoeven dragen.
Cyrix deed reverse engineering. Zonder licentie geen documentatie natuurlijk, dus dan maar zelf uitzoeken :)
Nevertheless de rechter heeft geoordeeld dat het een onafhankelijke implementatie was die daarom dus geen Intel patenten schond.
Wat ook leuk is, is dat de CPU's van Cyrix zichzelf identificeerde met "CyrixInstead" tegen over intel's GenuineIntel of AMD's AuthenticAMD :p
Maar een partij als Via die nog steeds in bezit is van een x86 licentie zou zo weer mee kunnen doen op de markt :). hopelijk komt deze 3e speler weer terug in de race naar verloop van tijd.
Het kost tegenwoordig teveel tijd en geld om met een x86 core ontwerp te komen voor desktop. En VIA loopt minstens 5 jaar achter op AMD, over Intel nog maar niet te beginnen.
In het artikel staat:
De Miaow gpu-coprocessor kan tot 32 rekeneenheden aansturen.
Dus deze gpgpu kan niet met 'de grote jongens' meekomen. Maar dat is het doel ook niet, dat is het bouwen van een opensource gpgpu zodat men direct op de hardware kan programmeren om meer performance uit de gpgpu te halen dan dat nu mogelijk.
Nee, met de grote jongens kunnen uni gasten nooit meekomen natuurlijk.

Dat kost miljarden investeringen. Als jij net als Nvidia op een moderne fabriek een ontwerp wilt laten produceren dan is dat heel prijzig.

Om het in lekentermen uit te leggen:

Eerst mag je een goed design team betalen als het gaat om een gpu. Dat zijn niet al te veel gasten, stuk of 5 meestal is het wel mee gedaan. Maar die willen VETTE salarissen hebben. Die zijn ook steengoed, maar pakken letterlijk miljoenen. Ben je dus alweer 20 miljoen dollar armer, maar dan heb je ook prima design.

Een hoofddesigner van een recente GPU hier op mijn chat, die heeft dus letterlijk zijn eigen vliegtuig. Wordt dan door AMD/ATI ingehuurd dan weer door een ander.

Er wordt dan letterlijk een ontwerp gemaakt binnen paar jaar tijd van 1 nieuwe generatie GPU.

Dan komt de volgende fase. Je ontwerp is dan af en dan wil je bijvoorbeeld dat het in Taiwan geproduceerd gaat worden. Dan komen er veel meer mensen bij. Dit is ook waar de grootste investering plaatsvindt.

Wel is het zo dat vaak een fabrikant, zij het intel, of amd of nvidia, ondertussen al niet meer terugkan. Want we zijn alweer wat jaartjes verder dan.

Een nieuw design laten maken voor een nieuwe generatie machines van ASML, dat kost goud en enorm tijdsverlies. Dus dat ontwerp MOET goed zijn.

Dat is het ook als je die miljoenen betaalt. Er kunnen maar een paar van die jongens goed zijn en de rest zijn prutsers.

Probleem van een open source design is natuurlijk dat het nooit goed gaat zijn. Dus zelfs al zou je het voor paar miljard massaal goedkoop laten produceren - dan nog loop je generaties achter qua hardware, qua efficiency, qua hoe hoog ze 't geklokt krijgen en qua genialiteit.

Echt totaal kansloos.
Als dit een GPU is die bedoeld is voor GPGPU taken, dan is het toch gewoon een coprocessor geworden? Wat is er nog GPU aan een GPU die geen graphics meer doet?
Een GPU is toch ook een coprocessor? Een Tesla is ook praktisch een GPU zonder monitor aansluiting bedoeld voor GPGPU taken. Is het dan nog een GPU of een coprocessor? En wat als je hem inzet voor RemoteFX?
En wat als je een van je CPU's dedicated grafische taken laat uitvoeren, is het dan nog een CPU of wordt het dan een GPU?

En op de RaspberryPi, daar start de GPU eerst op, en die start dan de CPU. Is dat GPU dan eigenlijk niet ook een GPGPU? Of eerst een CPU en dan een GPU? En is de CPU dan niet een coprocessor?
Dit gaat over een gpgpu.

Welke naam je erop wilt plakken verder is niet zo boeiend natuurlijk. Maar leuk concept voor studenten om mee te stoeien!

Een co-processor zie ik meer als iets wat direct op een moederbord zit. gpgpu's communiceren over de pci-e met het systeem, dus zie ik als insteekkaarten en niet als co-processors.

Dat merk je dan ook aan de latency - die is niet zo best over pci-e heen en al helemaal niet voor grafische kaarten. Dat gaat dan ook alleen om bandbreedte niet zozeer latency.

Dit waar veel coprocessors, bijvoorbeeld encryptiecoprocessoren die je in sommige mobieltjes er gewoon kunt bijpluggen, die zitten direct te communiceren met een processor. De latency is dan ook navenant sneller dan van een gpu over de pci-e heen.
Ik bedoel meer te zeggen dat het repurposen van een GPU voor normale taken, maakt het per definitie geen GPU meer, daarom noem ik het liever een coprocessor. Het ziet er wellicht niet zo uit, maar je gaat er wel zo mee om.

Daarbij zit de GPU van een laptop ook op het moederbord ;)

[Reactie gewijzigd door _Thanatos_ op 29 augustus 2015 19:00]

Wel leuk van AMD dat ze die architectuur vrij gegeven hebben voor gebruik. Er zullen niet veel bedrijven zijn die dat soort dingen doen. Daarom vind ik AMD een mooi bedrijf ik hoop dat ze het nog lang vol kunnen houden.
AMD heeft niets vrijgegeven. De ISA is gewoon gedocumenteerd zodat mensen software kunnen schrijven die gebruik kan maken van de GPU op een GPGPU manier. Deze onderzoekers hebben nu die instructieset opnieuw geïmplementeerd op andere hardware.

Indien AMD de ISA niet zou vrijgeven dan had AMD zelf alle software moeten schrijven die dan als middleware zou gaan dienen voor GPGPU rekentaken.
Ik moet toegeven dat ik niet goed weet wat die ISA inhoud.
Maar ze geven aan dat de nieuwe GPU draait op de Southern-Island ISA vandaar mijn verwarring.
Maar waarom gebruiken ze dan niet de GCN isa? die lijkt me toch een stuk krachtiger.

Ik zou er eens in moeten duiken om te kijken wat ze hier aan het doen zijn.
Ik moet toegeven dat ik niet goed weet wat die ISA inhoud.
ISA = Instruction Set Architecture, ruw vertaald "welke instructies (en registers) zijn er beschikbaar".
Maar ze geven aan dat de nieuwe GPU draait op de Southern-Island ISA vandaar mijn verwarring. Maar waarom gebruiken ze dan niet de GCN isa?
Southern Islands is GCN:
Graphics Core Next "GCN 1.0" (Southern Islands, HD 7000/Rx 200 Series)

[Reactie gewijzigd door robvanwijk op 28 augustus 2015 14:27]

[...]

ISA = Instruction Set Architecture, ruw vertaald "welke instructies (en registers) zijn er beschikbaar".


[...]

Southern Islands is GCN:

[...]
Ik moest eigenlijk denken aan Industry Standard Architecture (de IBM insteekkaarten).
Dat lijkt me uiterst onwaarschijnlijk:
Superseded by PCI (1993)
PCI zelf is daarna ook nog opgevolgd door PCI Express, en pas toen we al lang en breed op PCIe zaten met zijn allen, toen werd Southern Islands ontworpen. Ik kan me niet voorstellen hoe een interconnect die al twintig jaar niet meer (mainstream) gebruikt wordt iets te maken heeft met een relatief moderne grafische kaart.

Maar als je het punt wilde maken dat al die afkortingen die we in de ICT gebruiken behoorlijk verwarrend kunnen zijn en dat één afkorting met meerdere verschillende betekenissen het er niet bepaald beter op maakt, dan ben ik het helemaal met je eens! :p
Ik ben weer lekker wakker vandaag... :( had de HD69xx architectuur in mijn hooft.
AMD heeft wel de instructies voor al zijn GPU's vrijgegeven anders.

waar jij het over (lijkt) te hebben zijn de instructie nodig om openCL bijvoorbeeld te gebruiken met een AMD kaart, maar daar zijn het de (AMD) drivers die het omzetten naar iets waar de hardware mee kan werken. hier hebben ze zelf de drivers geschreven aan de hand van de AMD ISA, en daar ook nog hardware bij bedacht.

Het eigenlijk doel van AMD was voor het ontwikkelen van goede open source drivers in linux (waarvan de resultaten al zichtbaar beginnen te worden) maar dit soort projecten kunnen daar ook prima op meeliften.

[Reactie gewijzigd door Countess op 28 augustus 2015 13:12]

Toch jammer dat er van uit wordt gegaan dat iedereen weet wat een gpgpu is. Kleine uitleg of het woord 1x uitschrijven ken toch geen kwaad.
http://gpgpu.org

[Reactie gewijzigd door caanova1984 op 28 augustus 2015 20:44]

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 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