Das VeriGPU-Projekt entwickelt eine offene GPU in der Verilog-Sprache

Das VeriGPU-Projekt zielt darauf ab, eine offene GPU zu schaffen, die in der Beschreibungs- und Modellierungssprache für elektronische Systeme Verilog entwickelt wird. Das Projekt wird zunächst mit dem Verilog-Simulator entwickelt, kann aber nach der Fertigstellung zur Herstellung echter Chips verwendet werden. Projektentwicklungen werden unter der MIT-Lizenz vertrieben.

Die VeriGPU ist als anwendungsspezifische Verarbeitungseinheit (ASIC) positioniert, die für die Beschleunigung von Berechnungen im Zusammenhang mit maschinellen Lernsystemen optimiert ist. Die Pläne erwähnen die Bereitstellung von Kompatibilität mit dem PyTorch Deep Machine Learning Framework und die Möglichkeit, Anwendungen für die VeriGPU mithilfe der HIP-API (Heterogeneous-Compute Interface) zu entwickeln. Zukünftig ist die Unterstützung weiterer APIs wie SYCL und NVIDIA CUDA nicht ausgeschlossen.

Die GPU entwickelt sich auf der Grundlage des RISC-V-Befehlssatzes, aber die resultierende interne Architektur des GPU-Befehlssatzes ist schlecht mit der RISC-V-ISA kompatibel, da in Situationen, in denen das Design der GPU nicht in die RISC-V-Darstellung passt , die Aufgabe der Aufrechterhaltung der Kompatibilität mit RISC-V ist nicht gestellt. . Die Entwicklung konzentriert sich auf die Fähigkeiten, die für maschinelle Lernsysteme erforderlich sind. Um die Größe und Komplexität der Chipmatrix zu reduzieren, wird daher nur das BF16-Gleitkommaformat und nur Gleitkommaoperationen verwendet, die für maschinelles Lernen erforderlich sind, wie z exp, log, tanh und sqrt sind verfügbar.

Von den bereits verfügbaren Komponenten sind der GPU-Controller, APU (Accelerated Processing Unit) für Ganzzahloperationen („+“, „-“, „/“, „*“), Block für Gleitkommaoperationen („+“, „*“) ) und eine Verzweigungseinheit. Zur Erstellung von Anwendungen werden ein Assembler und Unterstützung beim Kompilieren von C++-Code auf Basis von LLVM angeboten. Von den geplanten Features stechen die parallele Ausführung von Befehlen, das Caching von Daten und Befehlsspeicher sowie SIMT-Operationen (Single Instruction Multiple Thread) hervor.

Das VeriGPU-Projekt entwickelt eine offene GPU in der Verilog-Sprache


Source: opennet.ru

Kommentar hinzufügen