RV64X, een open source GPU gebaseerd op RISC-V-technologieën

Een groep enthousiastelingen (met bijdragen van Pixilica) ontwikkelt het project RV64X, dat heeft tot doel te creëren een set aanvullende 3D-graphics en multimedia-verwerkingsinstructies die kunnen worden gebruikt om de functionaliteit van de GPU op RISC-V-processors.

Het project is gepositioneerd als gratis, Het vereist geen royalty's en legt geen gebruiksvoorwaarden op, zodat u volledig open GPU's kunt maken op basis van RV64X.

Pixilica werkt samen met RV64X om een ​​nieuwe set grafische instructies voor te stellen die zijn ontworpen voor 3D-graphics en mediabewerking. Het kan een gefuseerde ISA CPU-GPU zijn. 

Deze nieuwe instructies zijn gebaseerd op de RISC-V-basisvectorinstructieset. Ze zullen ondersteuning toevoegen voor nieuwe gegevenstypen die grafisch specifiek zijn als gelaagde extensies in de geest van de RISC-V ISA-kernel.

Ongeveer RV64X

RV64X is gebaseerd op RISC-V ISA-vectorinstructies, die zijn uitgebreid met ondersteuning voor nieuwe gegevenstypen en diagramspecifieke extensies.

Er worden bijvoorbeeld aanvullende bewerkingen voorgesteld voor het verwerken van pixels (RGBA), dots (xyzw), textuurelementen (UVW-Texels), vectoren (bewerkingen met 2-4 elementen), materiaalparameters, lichtberekeningen, transcendentale wiskunde, dieptebuffers (Z - buffer) en framebuffer (Framebuffer).

Het eerste prototype De op RV64X gebaseerde GPU is ontworpen voor gebruik in microcontrollers en wordt beperkt tot ondersteuning voor de Vulkan grafische API, hoewel ze na verloop van tijd beloven ondersteuning voor OpenGL en DirectX toe te voegen.

De belangrijkste motivatie voor ontwikkeling is de behoefte aan een flexibele architectuur die dit mogelijk maakt het aansluiten van extensies om specifieke problemen efficiënt op te lossen, zoals het in twee fasen afkappen van kegels, het gebruik van snelle Fourier-transformaties voor willekeurige kleurdiepten en implementatie van SLAM-hardware.

Bv RV64X maakt de implementatie van zijn eigen fasen voor de computationele pijplijn mogelijk, geometrische, pixel- en framebuffers, en maak ook uw eigen mozaïekpatronen.

Er wordt ook vermeld dat chipfabrikanten met RV64X in staat zullen zijn om de oplossingen die ze nodig hebben voor te bereiden op basis van de bestaande backbone, met de nadruk op geavanceerde mogelijkheden, zonder tijd te verspillen aan gewone dingen.

RV64X evolueert als een hybride CPU-GPU ISA, waardoor gespecialiseerde grafische microcontrollers en multicore-processors kunnen worden gemaakt die rekenkernen combineren met blokken om grafische bewerkingen uit te voeren.

Een processor die een RISC-V-kern combineert met een GPU-blok ziet eruit als een enkele eenheid (geen expliciete GPU-mapping) en is geprogrammeerd met behulp van een uniforme 64-bits instructieset en een SIMD-model voor datalaagparallellisme. De RV64X-architectuur evolueert naar een compacte en efficiënte implementatie die kan worden geïmplementeerd op basis van FPGA's en ASIC's.

De open source-beweging die softwareontwikkeling heeft getransformeerd, wint terrein onder hardware-ontwikkelaars. Vroege inspanningen gericht op de RISC-V-architectuur lopen voorop. We onderzoeken de belofte en valkuilen van open hardware-ontwikkeling in ons volgende Open Source Special Project.

Onder de kenmerken van RV64X-architectuur het gebruik van een enkel geheugenmodel is te vinden op de CPU en GPU, die extra RPC / IPC-mechanismen elimineert om oproepen tussen het GPU-geheugen en de CPU te vertalen bij het verwerken van 3D API-bewerkingen.

Standaard grafische bewerkingen kunnen worden geïmplementeerd op microcodeniveau​ Het maken van aangepaste shaders, rasterizers en ray tracing-extensies wordt ondersteund. Bovendien kunnen vectorbewerkingen op microcodeniveau worden geïmplementeerd om problemen met simulatie, computervisie en machine learning op te lossen.

De referentie-implementatie RV64X bevat 1 KB L32-cache voor instructies en gegevens, 8 KB SRAM voor microcode, instructiedecoder, hardware-implementatie van RV32V- en RV64X-instructiesets, microcode-gedefinieerde uitgebreide instructiedecoder, vectoraritmetische logische eenheid (ALU), 136-bits registerbestand met 1024 elementen, een speciale functie-eenheid (SFU), een textuureenheid en een configureerbare lokale framebuffer.

Tenslotte als je er meer over wilt weten je kunt de details in het originele bericht bekijken. De link is dit.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.