Nee, dat doen ze dus juist niet. hQ is een hardware oplossing voor exact het probleem dat je aandraagt.
Nope. hQ is nog steeds een softwarelaag. Het bypasst het besturingssysteem en drivers, maar de queues vullen en verwerken gebeurt grotendeels softwarematig.
Bij een homogene unified architectuur hoeven er geen taken in queues gestopt te worden. Je voert gewoon de parallel code onmiddellijk uit met behulp van AVX-512 instructies. De data blijft ook meer lokaal in de caches en hoeft niet naar andere cores.
Hoezo wanhopig?
AMD deed het goed ten tijde van hun eerste 64-bit processors. Maar ze wilden een significant voordeel bereiken op Intel die de x86 architectuur domineert. Hun aanpak was om de instructieset van de GPU te gebruiken, op heterogene wijze, om zo x86 van minder belang te maken. Waar ze echter niet op rekenden is dat AVX-512 op homogene wijze dezelfde rekenkracht rechtstreeks beschikbaar maakt in de CPU cores.
Homogene code is vele malen gemakkelijker te beheersen door compilers en programmeurs, en krijgt dus de voorkeur. HSA vergt grote inspanningen en kent vele pitfalls. Dus van een ROI perspectief is het een no-brainer om voor unified computing te gaan. AMD probeert de inherente problemen van heterogeen programmeren op te lossen met softwarelagen en kostelijke duplicatie van functionaliteit in de verschillende cores. Dat toont hoe zeer dit een wanhoopsdaad aan het worden is. Steeds maar nieuwe specificaties opstellen om hun hardware enigszins efficiënt te gebruiken maakt het alleen maar meer complex.
Na vele malen de HSA specificatie gelezen te hebben weet ik nog steeds niet wat de beste aanpak is om daadwerkelijk een programma ervoor te schrijven. We moeten wachten op de hardware om te zien hoe het zich exact gedraagt, en dat kan sterk verschillen tussen vendors en verschillende generaties. Een nachtmerrie voor programmeurs dus. AVX-512 daarentegen kent geen verassingen en men is op dit moment bezig met ondersteuning ervoor in alle grote compilers.
Het spijt me dit te moeten zeggen maar dit klinkt wel heel erg fanboi.
Misschien "klinkt" het voor jou fanboi maar het zijn louter feiten. Het is niet mijn fout dat die feiten heel aanlokkelijk zijn in vergelijking met heterogeen computen.
AVX-512 doet weinig anders dan de APUs van AMD alleen doet het het een paar jaar later.
Inderdaad het "doet"hetzelfde, maar het verschil zit hem in homogeen versus heterogeen. HSA gaat niet in grote getale door programmeurs gebruikt worden als kort erna een homogene oplossing beschikbaar komt die veel eenvoudiger te gebruiken is en betere garanties geeft op prestatiewinst. Het komt nog zeer vaak voor dat iets niet sneller draait op de GPU dan op de CPU door alle heterogene overhead en de beperkingen van de GPU (hoge latencies, weinig opslag per thread, lachwekkende scalaire prestaties, etc.).
AMD doet ditzelfde maar doet dit nú, niet op een onduidelijk nader te bepalen moment in de toekomst.
De volledige HSA architectuur is verre van beschikbaar op dit moment. Met al de vertraging die AMD al ondervonden heeft duurt het minstens tot 2015 voordat eraan begonnen kan worden om ervoor te ontwikkelen.
AVX2 is een 256-bit voorloper van AVX-512 en wordt op dit moment gebruikt in de ontwikkeling van nieuwe software. Overschakelen op AVX-512 is praktisch triviaal eens het beschikbaar is.
Wie er effectief voorsprong heeft is moeilijk te bepalen. Maar uiteindelijk doet een jaartje of zo er absoluut niks toe. In tien jaar is alles onherroepelijk unified en homogeen. Heterogeen is simpelweg te omslachtig en bovendien schaalt het slecht met als enige oplossing om de vector-ALUs nog dichter bij de CPU-cores te brengen. Dus richting een unified architectuur! Intel slaat de heterogeneous stap over omdat die toch geen toekomst heeft. En in dat opzicht zitten ze dus gigantisch veel voor op AMD.
[Reactie gewijzigd door Verwijderd op 23 juli 2024 00:54]