RV64X, una GPU open source basata su tecnologie RISC-V

Un gruppo di appassionati (con il contributo di Pixilica) sta sviluppando il progetto RV64X, che mira a creare una serie di grafica 3D supplementare e istruzioni di elaborazione multimediale che possono essere utilizzate per integrare le funzionalità di GPU su processori RISC-V.

Il progetto si posiziona come libero, Non richiede royalty né termini di utilizzo, consentendo di creare GPU basate su RV64X completamente aperte.

Pixilica collabora con RV64X per proporre un nuovo set di istruzioni grafiche progettate per la grafica 3D e l'elaborazione multimediale. Potrebbe essere una CPU-GPU ISA fusa. 

Queste nuove istruzioni si basano sul set di istruzioni del vettore di base RISC-V. Aggiungeranno il supporto per nuovi tipi di dati che sono grafici specifici come estensioni a strati nello spirito del kernel RISC-V ISA.

Informazioni su RV64X

RV64X si basa sulle istruzioni vettoriali RISC-V ISA, che sono migliorati con il supporto per nuovi tipi di dati ed estensioni specifiche per i grafici.

Ad esempio, vengono proposte operazioni aggiuntive per l'elaborazione di pixel (RGBA), punti (xyzw), elementi di texture (UVW-Texels), vettori (operazioni con 2-4 elementi), parametri dei materiali, calcoli di illuminazione, matematica trascendentale, buffer di profondità (Z - buffer) e frame buffer (Framebuffer).

Il primo prototipo La GPU basata su RV64X è progettata per l'uso in microcontrollori e sarà limitato al supporto per l'API grafica Vulkan, anche se nel tempo promettono di aggiungere il supporto per OpenGL e DirectX.

La motivazione principale per lo sviluppo è la necessità di un'architettura flessibile che permetta la connessione di estensioni per risolvere in modo efficiente problemi specifici, come il troncamento in due fasi dei coni, l'uso di trasformate veloci di Fourier per profondità di colore arbitrarie e l'implementazione dell'hardware SLAM.

Ad esempio, RV64X consente l'implementazione delle proprie fasi per la pipeline di calcolo, buffer geometrici, pixel e frame, oltre a creare i propri tassellatori.

Si dice anche che con RV64X, i produttori di chip saranno in grado di preparare le soluzioni di cui hanno bisogno sulla base del backbone esistente, concentrandosi su capacità avanzate, senza dover perdere tempo in cose comuni.

RV64X si sta evolvendo come ISA CPU-GPU ibrido, consentendo la creazione di microcontrollori grafici specializzati e processori multicore che combinano core computazionali con blocchi per eseguire operazioni grafiche.

Un processore che combina un core RISC-V con un blocco GPU sembra una singola unità (nessuna mappatura GPU esplicita) ed è programmato utilizzando un set di istruzioni unificato a 64 bit e un modello SIMD per il parallelismo del livello dati. L'architettura RV64X si sta evolvendo verso un'implementazione compatta ed efficiente che può essere implementata sulla base di FPGA e ASIC.

Il movimento open source che ha trasformato lo sviluppo del software sta guadagnando terreno tra gli sviluppatori di hardware. I primi sforzi concentrati sull'architettura RISC-V stanno aprendo la strada. Esploriamo le promesse e le insidie ​​dello sviluppo di hardware aperto nel nostro prossimo progetto speciale Open Source.

Tra le caratteristiche dell'architettura RV64X l'utilizzo di un unico modello di memoria si trova sulla CPU e sulla GPU, che elimina i meccanismi RPC / IPC aggiuntivi per tradurre le chiamate tra la memoria della GPU e la CPU durante l'elaborazione delle operazioni API 3D.

Le operazioni grafiche standard possono essere implementate a livello di microcodice. È supportata la creazione di shader, rasterizzatori ed estensioni di ray tracing personalizzati. Inoltre, le operazioni vettoriali possono essere implementate a livello di microcodice per risolvere problemi di simulazione, visione artificiale e apprendimento automatico.

L'implementazione di riferimento RV64X include 1 KB di cache L32 per istruzioni e dati, 8 KB SRAM per microcodice, decodificatore di istruzioni, implementazione hardware dei set di istruzioni RV32V e RV64X, decodificatore di istruzioni esteso definito da microcodice, unità logica aritmetica vettoriale (ALU), file di registro a 136 bit con 1024 elementi, un'unità di funzione speciale (SFU), un'unità di trama e una framebuffer locale configurabile.

Infine, se vuoi saperne di più puoi controllare i dettagli nel post originale. Il collegamento è questo.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.