Projekt VeriGPU vyvíjí otevřenou GPU v jazyce Verilog

Projekt VeriGPU má za cíl vytvořit otevřenou GPU vyvinutou v jazyce popisu a modelování elektronických systémů Verilog. Zpočátku je projekt vyvíjen pomocí simulátoru Verilog, ale po jeho uvedení do připravenosti jej lze použít k výrobě skutečných čipů. Vývoj projektu je distribuován pod licencí MIT.

VeriGPU je umístěn jako aplikační specifická procesorová jednotka (ASIC) optimalizovaná pro urychlení výpočtů souvisejících se systémy strojového učení. Plány zmiňují zajištění kompatibility s rámcem hlubokého strojového učení PyTorch a možnost vývoje aplikací pro VeriGPU pomocí HIP (Heterogeneous-Compute Interface) API. Do budoucna není vyloučeno přidání podpory pro další API, jako je SYCL a NVIDIA CUDA.

GPU se vyvíjí na základě instrukční sady RISC-V, ale výsledná vnitřní architektura instrukční sady GPU je špatně kompatibilní s RISC-V ISA, protože v situacích, kdy design GPU nezapadá do reprezentace RISC-V , úloha zachování kompatibility s RISC-V není stanovena. Vývoj je zaměřen na schopnosti potřebné pro systémy strojového učení, proto se pro snížení velikosti a složitosti čipové matice používá pouze formát s plovoucí desetinnou čárkou BF16 a pouze operace s plovoucí desetinnou čárkou, které jsou pro strojové učení požadovány, jako např. exp, log, tanh a sqrt, jsou k dispozici.

Z již dostupných součástí je řadič GPU, APU (Accelerated Processing Unit) pro celočíselné operace („+“, „-“, „/“, „*“), blok pro operace s plovoucí desetinnou čárkou („+“, „*“ ) a rozvětvovací jednotkou. Pro tvorbu aplikací je nabízen assembler a podpora pro kompilaci C++ kódu založeného na LLVM. Z plánovaných funkcí vynikají paralelní provádění instrukcí, cachování dat a paměti instrukcí, operace SIMT (Single instrukce multi thread).

Projekt VeriGPU vyvíjí otevřenou GPU v jazyce Verilog


Zdroj: opennet.ru

Přidat komentář