Проект VeriGPU розвиває відкритий GPU мовою Verilog

Проект VeriGPU націлений на створення відкритого GPU, що розвивається мовою опису та моделювання електронних систем Verilog. Спочатку проект розробляється з використанням симулятора Verilog, але після доведення готовності зможе використовуватися для виробництва реальних чіпів. Напрацювання проекту розповсюджуються під ліцензією MIT.

VeriGPU позиціонується як спеціалізований процесор (ASIC), оптимізований для прискорення обчислень, пов'язаних із системами машинного навчання. У планах згадується забезпечення сумісності з фреймворком глибинного машинного навчання PyTorch та реалізація можливості розробки програм для VeriGPU з використанням API HIP (Heterogeneous-Compute Interface). Надалі не виключається додавання підтримки та інших API, таких як SYCL та NVIDIA CUDA.

GPU розвивається на основі набору команд RISC-V, але підсумкова внутрішня архітектура набору команд GPU слабо сумісна з RISC-V ISA, тому що в ситуаціях, коли проектування GPU не вкладається в подання RISC-V, не ставиться завдання збереження сумісності з RISC-V . Розробка сфокусована на можливостях, необхідних для систем машинного навчання, тому для скорочення розміру та складності матриці чіпа використовується тільки формат обчислень з плаваючою комою BF16 і доступні лише затребувані для машинного навчання операції з плаваючою комою, такі як exp, log, tanh та sqrt.

З уже доступних компонентів називаються контролер GPU, APU (Accelerated Processing Unit) для цілісних операцій («+»,»-«,»/»,»*»), блок для операцій з плаваючою комою («+»,»*») та блок забезпечення розгалуження. Для створення програм пропонується асемблер і підтримка компіляції коду на C++ на базі LLVM. З планованих можливостей виділяються паралельне виконання інструкцій, кешування пам'яті даних та інструкцій, операції SIMT (Single instruction multiple thread).

Проект VeriGPU розвиває відкритий GPU мовою Verilog


Джерело: opennet.ru

Додати коментар або відгук