A VeriGPU projekt nyílt GPU-t fejleszt Verilog nyelven

A VeriGPU projekt célja egy Verilog nyelven fejlesztett nyílt GPU létrehozása elektronikus rendszerek leírására és modellezésére. A projektet kezdetben Verilog szimulátorral fejlesztik, de a befejezés után valódi chipek gyártására is használható. A projekt fejlesztései MIT licenc alatt kerülnek terjesztésre.

A VeriGPU alkalmazás-specifikus processzorként (ASIC) van elhelyezve, amelyet a gépi tanulási rendszerekkel kapcsolatos számítások felgyorsítására optimalizáltak. A tervek között szerepel a PyTorch mélygépi tanulási keretrendszerrel való kompatibilitás, valamint a VeriGPU-hoz való alkalmazások fejlesztésének lehetősége a HIP (Heterogeneous-Compute Interface) API használatával. A jövőben lehetőség nyílik más API-k, például a SYCL és az NVIDIA CUDA támogatására.

A GPU a RISC-V utasításkészletből fejlődik ki, de a GPU utasításkészlet ebből eredő belső architektúrája gyengén kompatibilis a RISC-V ISA-val, mivel olyan helyzetekben, amikor a GPU kialakítása nem illeszkedik a RISC-V reprezentációba, nem célja a RISC-V kompatibilitás fenntartása. A fejlesztés a gépi tanulási rendszerekhez szükséges képességekre fókuszál, így a chipmátrix méretének és összetettségének csökkentése érdekében csak a BF16 lebegőpontos formátumot használja, és csak a gépi tanuláshoz szükséges lebegőpontos műveleteket, mint például exp, log, tanh és sqrt állnak rendelkezésre.

A már elérhető komponensek közé tartozik a GPU vezérlő, az APU (Accelerated Processing Unit) az egész műveletekhez ("+", "-","/,","*"), és egy egység a lebegőpontos műveletekhez ("+," ”*”) és egy elágazó blokkot. Alkalmazások létrehozásához összeszerelőt és támogatást kínál az LLVM alapú C++ kód fordításához. A tervezett képességek közül kiemelik az utasítások párhuzamos végrehajtását, az adatok és utasításmemória gyorsítótárazását, valamint a SIMT (Single instruction multiple thread) műveleteket.

A VeriGPU projekt nyílt GPU-t fejleszt Verilog nyelven


Forrás: opennet.ru

Hozzászólás