RV64X, un GPU open source bazat pe tehnologiile RISC-V

Un grup de entuziaști (cu contribuții de la Pixilica) dezvoltă proiectul RV64X,își propune să creeze un set de grafică 3D suplimentară și instrucțiuni de procesare multimedia care pot fi utilizate pentru a integra funcționalitatea GPU pe procesoare RISC-V.

Proiectul este poziționat ca liber, Nu necesită redevențe și nici condiții de utilizare, permițându-vă să creați GPU-uri complet deschise bazate pe RV64X.

Pixilica colaborează cu RV64X pentru a propune un nou set de instrucțiuni grafice concepute pentru grafica 3D și procesarea media. Poate fi un CPU-GPU ISA fuzionat. 

Aceste noi instrucțiuni se bazează pe setul de instrucțiuni vector de bază RISC-V. Vor adăuga suport pentru noile tipuri de date care sunt specifice graficelor ca extensii stratificate în spiritul kernel-ului RISC-V ISA.

Despre RV64X

RV64X se bazează pe instrucțiunile vectoriale RISC-V ISA, care sunt îmbunătățite cu suport pentru noi tipuri de date și extensii specifice graficelor.

De exemplu, sunt propuse operații suplimentare pentru procesarea pixelilor (RGBA), a punctelor (xyzw), a elementelor de textură (UVW-Texels), a vectorilor (operații cu 2-4 elemente), a parametrilor materialului, a calculelor de iluminare, a matematicii transcendentale, a tampoanelor de adâncime (Z - tampon) și tampon cadru (Framebuffer).

Primul prototip GPU bazat pe RV64X este conceput pentru a fi utilizat în microcontrolere și va fi limitat la suportul pentru API-ul grafic Vulkan, deși în timp, promit să adauge suport pentru OpenGL și DirectX.

Principala motivație pentru dezvoltare este necesitatea unei arhitecturi flexibile care să permită conectarea extensiilor pentru rezolvarea eficientă a problemelor specifice, cum ar fi trunchierea în două faze a conurilor, utilizarea transformărilor Fourier rapide pentru adâncimi de culoare arbitrare și implementarea hardware-ului SLAM.

De exemplu, RV64X permite implementarea propriilor etape pentru conducta de calcul, tampoane geometrice, pixel și cadru, precum și crearea propriilor teselatoare.

De asemenea, se menționează că, cu RV64X, producătorii de cipuri vor putea pregăti soluțiile de care au nevoie pe baza coloanei vertebrale existente, concentrându-se pe capabilități avansate, fără a fi nevoie să piardă timpul pe lucruri comune.

RV64X evoluează ca un procesor hibrid-GPU ISA, permițând crearea de microcontrolere grafice specializate și procesoare multicore care combină nuclee de calcul cu blocuri pentru a efectua operații grafice.

Un procesor care combină un nucleu RISC-V cu un bloc GPU arată ca o singură unitate (fără mapare explicită GPU) și este programat folosind un set de instrucțiuni unificat pe 64 de biți și un model SIMD pentru paralelismul stratului de date. Arhitectura RV64X evoluează către o implementare compactă și eficientă care poate fi implementată pe baza FPGA-urilor și ASIC-urilor.

Mișcarea open source care a transformat dezvoltarea de software câștigă teren în rândul dezvoltatorilor de hardware. Eforturile timpurii axate pe arhitectura RISC-V sunt pe primul plan. Explorăm promisiunea și capcanele dezvoltării hardware-ului deschis în următorul nostru proiect Open Source Special.

Printre caracteristici de arhitectură RV64X utilizarea unui singur model de memorie se găsește pe CPU și GPU, care elimină mecanisme RPC / IPC suplimentare pentru a traduce apelurile între memoria GPU și CPU atunci când procesează operațiuni 3D API.

Operațiile grafice standard pot fi implementate la nivel de microcod. Este acceptată crearea de umbrere personalizate, rasterizatoare și extensii de urmărire a razelor. În plus, operațiile vectoriale pot fi implementate la nivel de microcod pentru a rezolva probleme de simulare, viziune computerizată și învățare automată.

Implementarea de referință RV64X include memorie cache L1 de 32 KB pentru instrucțiuni și date, SRAM de 8 KB pentru microcod, decodor de instrucțiuni, implementarea hardware a seturilor de instrucțiuni RV32V și RV64X, decodor de instrucțiuni extinse definite de microcod, unitate logică aritmetică vectorială (ALU), fișier de registru de 136 de biți cu 1024 de elemente, o unitate de funcții speciale (SFU), o unitate de textură și un framebuffer local configurabil.

În cele din urmă, dacă vrei să afli mai multe despre asta puteți verifica detaliile în postarea originală. Legătura este aceasta.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.