RISC-V 64 bits IP pour hautes performances - Semiwiki

IP RISC-V 64 bits pour hautes performances – Semiwiki

Nœud source: 2855188

RISC-V en tant qu'architecture de jeu d'instructions (ISA) a rapidement gagné en importance et en pertinence commerciales depuis sa sortie dans la communauté ouverte en 2015, attirant de nombreux fournisseurs IP qui proposent désormais une variété de cœurs RTL. Roger Espasa, PDG et fondateur de Semidynamique, a présenté lors d'événements RISC-V comment son IP est personnalisée pour les défis de calcul qui nécessitent une bande passante élevée et des cœurs hautes performances avec des unités vectorielles. Semidynamics a été fondée en 2016, a son siège social à Barcelone et compte déjà des clients aux États-Unis et en Asie en proposant deux IP RISC-V personnalisables :

  • Avispado – RISCV64GCV en ordre, prenant en charge AXI et CHI
  • Atrevido – RISCV64GC en panne, prenant en charge AXI et CHI

Un processeur typique possède une poignée de gros cœurs et de grands caches, ce qui les rend faciles à programmer, mais pas très performants.

Les GPU, en revanche, possèdent de nombreux cœurs minuscules qui offrent des performances élevées pour le code parallèle, mais sont plus difficiles à programmer et à ajouter une latence de communication via le bus PCIe lorsque les données doivent être transmises entre le CPU et le GPU.

CPU, GPU minimum
Comparaison CPU, GPU

L'approche d'Espasa consiste à utiliser un cœur RISC-V connecté aux cœurs de calcul, ce qui facilite la programmation, offre des performances plus élevées pour les codes parallèles et offre une latence de communication nulle. Le processeur et l'unité vectorielle offrent le meilleur des deux mondes.

CPU RISC-V plus unité Vector, performances supérieures
CPU plus unité vectorielle

La spécification RISC-V documente 32 registres vectoriels et vous pouvez ajouter un certain nombre de cœurs vectoriels, ainsi qu'une connexion à votre cache à l'intérieur d'une unité vectorielle.

Unité vectorielle min.
Vector Unit

Avec Semidynamics IP, vous pouvez personnaliser le nombre de cœurs vectoriels : 4, 8, 16, 32. Une autre façon de voir les choses est de noter que 4 cœurs vectoriels font 256 bits, jusqu'à 32 cœurs vectoriels, soit 2,048 XNUMX bits.

Les utilisateurs IP choisissent également les types de données : FP64, FP32, FP16, BF16, INT64, INT32, INT16, INT8. Pour une application d'IA, ils peuvent choisir les types de données FP16, BF16, tandis qu'une application HPC peut sélectionner FP64, FP32.

La troisième personnalisation est la longueur du registre vectoriel, où pour plus de performances et une consommation réduite, vous pouvez rendre le registre vectoriel plus grand que l'unité vectorielle.

Voici le schéma fonctionnel de l'Atrevideo 423-V8 :

Atrévido min
Atrevido 423 + Unité vectorielle V8

L'unité vectorielle est complètement hors service, ce qui est unique parmi les fournisseurs IP RISC-V. La combinaison de l'unité vectorielle et de l'unité Gazzillion est capable de diffuser des données en continu à plus de 60 octets/cycles.

Vecteur + Gazzillion, performances octets/cycle
Bande passante élevée : vecteur + Gazzillion

La ligne violette montre les performances de lecture et dans le cache L1, elles sont de 20 à 60 octets/cycle, d'autres machines affichent une baisse rapide de la bande passante après avoir quitté le cache L1, tandis que cette approche continue, avec un aplatissement à 56. Même en passant à la mémoire DDR affiche une bande passante de 40. Avec une fréquence d'horloge de 1.0 GHz, ce qui donne une bande passante de 40 Go/s.

Les clients IP peuvent même ajouter leur propre code RTL connecté à l'unité Vector pour leurs propres besoins.

Les performances de multiplication matricielle sont importantes dans les charges de travail d'IA, et sur l'unité vectorielle OOO V8, il y a un pic de 16 FP64 FLOPS/cycle, et un pic de 99 % pour une taille de matrice >= 400. Pour une petite taille de matrice de 24×24 la performance est de 7 FP64 FLOPS/cycle, soit 50 % du pic. La multiplication matricielle pour FP16 à l'aide d'une unité vectorielle avec 8 cœurs vectoriels a un pic de 64 FLOPS FP16/cycle et 99 % du pic pour M >= 600.

Un test de détection d'objets en temps réel appelé YOLO (You Only Look Once) a été exécuté sur la plate-forme Atrevido 423-V8 et a montré des performances par cœur vectoriel 58 % supérieures à celles des concurrents. Ces résultats concernaient une vidéo à 24 couches. 5.56 Gops/frame et environ 9M de paramètres.

Performances YOLO
Comparaison YOLO

Résumé

Le choix d'un fournisseur IP RISC-V est une tâche compliquée, donc connaître des fournisseurs comme Semidynamics peut vous aider à mieux comprendre comment une approche personnalisée pourrait exécuter plus efficacement vos charges de travail spécifiques. Avec Semidynamics, vous avez le choix entre des choix architecturaux comme dans l'ordre ou dans le désordre, avec ou sans unités vectorielles. Les chiffres rapportés par ce fournisseur IP semblent prometteurs et j'attends avec impatience leurs futures annonces.

Related Videos

Partagez cet article via:

Horodatage:

Plus de Semiwiki