Projekt VeriGPU je zaměřen na vytvoření otevřeného GPU, vyvíjeného v jazyce pro popis a modelování elektronických systémů Verilog. Původně je projekt vyvíjen pomocí simulátoru Verilog, ale po dokončení bude použitelný pro výrobu skutečných čipů. Zprávy o pokroku projektu jsou rozšiřovány pod licencí MIT.
VeriGPU je prezentován jako specializovaný procesor (ASIC), optimalizovaný pro urychlení výpočtů souvisejících se systémy strojového učení. V plánech se zmiňuje zajištění kompatibility s rámcem hlubokého strojového učení PyTorch a realizace možnosti vývoje aplikací pro VeriGPU pomocí API HIP (Heterogeneous-Compute Interface). V budoucnu se nezavrhuje přidání podpory pro další API, jako jsou SYCL a NVIDIA CUDA.
GPU je vyvíjeno na základě instrukčního souboru RISC-V, ale konečná vnitřní architektura instrukčního souboru GPU je špatně kompatibilní s RISC-V ISA, protože v případech, kdy návrh GPU neodpovídá představě RISC-V, není cílem udržení kompatibility s RISC-V. Vývoj se zaměřuje na možnosti potřebné pro systémy strojového učení, a proto pro zjednodušení velikosti a složitosti matice čipu používá pouze formát výpočtů s plovoucí desetinnou čárkou BF16 a jsou k dispozici pouze požadované operace s plovoucí desetinnou čárkou pro strojové učení, jako jsou exp, log, tanh a sqrt.
Mezi již dostupnými komponenty se uvádějí GPU ovladač, APU (Accelerated Processing Unit) pro celočíselné operace („+“, „-“, „/“, „*“), blok pro operace s plovoucí desetinnou čárkou („+“, „*“) a blok pro podporu větvení. Pro vývoj aplikací je k dispozici assembler a podpora kompilace kódu v C++ na bázi LLVM. Mezi plánovanými možnostmi se vyzdvihuje paralelní vykonávání instrukcí, cache pro data a instrukce a operace SIMT (Single instruction multiple thread).

Zdroj: opennet.ru
