Het VeriGPU-project ontwikkelt een open GPU in de Verilog-taal

Het VeriGPU-project is gericht op het creëren van een open GPU, ontwikkeld in de Verilog-taal, voor het beschrijven en modelleren van elektronische systemen. In eerste instantie wordt het project ontwikkeld met behulp van een Verilog-simulator, maar eenmaal voltooid kan het worden gebruikt voor de productie van echte chips. De ontwikkelingen van het project worden gedistribueerd onder de MIT-licentie.

VeriGPU is gepositioneerd als een applicatiespecifieke processor (ASIC) die is geoptimaliseerd voor het versnellen van berekeningen met betrekking tot machine learning-systemen. Plannen omvatten compatibiliteit met het PyTorch deep machine learning-framework en de mogelijkheid om applicaties voor VeriGPU te ontwikkelen met behulp van de HIP (Heterogeneous-Compute Interface) API. In de toekomst is het mogelijk om ondersteuning toe te voegen voor andere API’s, zoals SYCL en NVIDIA CUDA.

De GPU is voortgekomen uit de RISC-V-instructieset, maar de resulterende interne architectuur van de GPU-instructieset is zwak compatibel met de RISC-V ISA, aangezien het in situaties waarin het GPU-ontwerp niet past in de RISC-V-representatie niet bedoeld om de RISC-V-compatibiliteit te behouden. De ontwikkeling is gericht op de mogelijkheden die nodig zijn voor machine learning-systemen. Om de omvang en complexiteit van de chipmatrix te verminderen, wordt alleen het drijvende-kommaformaat BF16 gebruikt en alleen de drijvende-kommabewerkingen die nodig zijn voor machine learning, zoals exp, log, tanh en sqrt zijn beschikbaar.

Tot de reeds beschikbare componenten behoren de GPU-controller, APU (Accelerated Processing Unit) voor bewerkingen met gehele getallen (“+”,”-“,”/,”,”*”) en een eenheid voor bewerkingen met drijvende komma (“+,” ,”*”) en een vertakkingsblok. Om applicaties te maken, biedt het een assembler en ondersteuning voor het compileren van C++-code op basis van LLVM. Onder de geplande mogelijkheden worden de parallelle uitvoering van instructies, het cachen van gegevens en instructiegeheugen en SIMT-bewerkingen (Single Instruction Multiple Thread) benadrukt.

Het VeriGPU-project ontwikkelt een open GPU in de Verilog-taal


Bron: opennet.ru

Voeg een reactie