RV64X, un GPU open source basé sur les technologies RISC-V

Un groupe de passionnés (avec la contribution de Pixilica) développe le projet RV64X, Quoi vise à créer un ensemble de graphiques 3D supplémentaires et d'instructions de traitement multimédia qui peuvent être utilisés pour intégrer les fonctionnalités du GPU sur les processeurs RISC-V.

Le projet est positionné comme libre, Il ne nécessite pas de redevances et n'impose pas de conditions d'utilisation, vous permettant de créer des GPU entièrement ouverts basés sur RV64X.

Pixilica s'associe à RV64X pour proposer un nouvel ensemble d'instructions graphiques conçues pour les graphiques 3D et le traitement multimédia. Il peut s'agir d'un CPU-GPU ISA fusionné. 

Ces nouvelles instructions sont basées sur le jeu d'instructions de vecteur de base RISC-V. Ils ajouteront la prise en charge de nouveaux types de données spécifiques aux graphiques en tant qu'extensions en couches dans l'esprit du noyau RISC-V ISA.

À propos du RV64X

RV64X est basé sur les instructions vectorielles RISC-V ISA, qui sont améliorés avec la prise en charge de nouveaux types de données et d'extensions spécifiques aux graphiques.

Par exemple, des opérations supplémentaires sont proposées pour le traitement des pixels (RGBA), des points (xyzw), des éléments de texture (UVW-Texels), des vecteurs (opérations avec 2-4 éléments), des paramètres de matériaux, des calculs d'éclairage, des mathématiques transcendantales, des tampons de profondeur (Z - buffer) et frame buffer (Framebuffer).

Le premier prototype Le GPU basé sur RV64X est conçu pour être utilisé dans les microcontrôleurs et sera limité à la prise en charge de l'API graphique Vulkan, bien qu'avec le temps, ils promettent d'ajouter la prise en charge d'OpenGL et de DirectX.

La principale motivation pour le développement est le besoin d'une architecture flexible qui permet connexion d'extensions pour résoudre efficacement des problèmes spécifiques, tels que la troncature en deux phases des cônes, l'utilisation de transformées de Fourier rapides pour des profondeurs de couleur arbitraires et la mise en œuvre de matériel SLAM.

Par exemple, RV64X permet la mise en œuvre de ses propres étapes pour le pipeline de calcul, tampons géométriques, de pixels et d'images, ainsi que la création de vos propres tessellators.

Il est également mentionné qu'avec RV64X, les fabricants de puces seront en mesure de préparer les solutions dont ils ont besoin en fonction de la dorsale existante, en se concentrant sur des capacités avancées, sans avoir à perdre de temps sur des choses communes.

RV64X évolue en tant qu'ISA hybride CPU-GPU, permettant la création de microcontrôleurs graphiques spécialisés et de processeurs multicœurs qui combinent des cœurs de calcul avec des blocs pour effectuer des opérations graphiques.

Un processeur qui combine un cœur RISC-V avec un bloc GPU ressemble à une seule unité (pas de mappage GPU explicite) et est programmé à l'aide d'un jeu d'instructions 64 bits unifié et d'un modèle SIMD pour le parallélisme de la couche de données. L'architecture RV64X évolue vers une implémentation compacte et efficace qui peut être implémentée sur la base de FPGA et ASIC.

Le mouvement open source qui a transformé le développement logiciel gagne du terrain parmi les développeurs de matériel. Les premiers efforts axés sur l'architecture RISC-V ouvrent la voie. Nous explorons la promesse et les pièges du développement de matériel ouvert dans notre prochain projet spécial Open Source.

Parmi les fonctionnalités de l'architecture RV64X l'utilisation d'un seul modèle de mémoire se trouve sur le CPU et le GPU, qui élimine les mécanismes RPC / IPC supplémentaires pour traduire les appels entre la mémoire GPU et le CPU lors du traitement des opérations d'API 3D.

Les opérations graphiques standard peuvent être implémentées au niveau du microcode. La création d'ombrages, de rastériseurs et d'extensions de lancer de rayons personnalisés est prise en charge. De plus, des opérations vectorielles peuvent être mises en œuvre au niveau du microcode pour résoudre des problèmes de simulation, de vision par ordinateur et d'apprentissage automatique.

L'implémentation de référence RV64X comprend 1 Ko de cache L32 pour les instructions et les données, 8 Ko de SRAM pour le microcode, décodeur d'instructions, implémentation matérielle des jeux d'instructions RV32V et RV64X, décodeur d'instructions étendues défini par microcode, unité logique arithmétique vectorielle (ALU), fichier de registre de 136 bits avec 1024 éléments, une unité de fonction spéciale (SFU), une unité de texture et un framebuffer local configurable.

Enfin, si vous voulez en savoir plus vous pouvez vérifier les détails dans le message d'origine. Le lien est le suivant.


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.