Dự án VeriGPU phát triển GPU mở bằng ngôn ngữ Verilog

Dự án VeriGPU nhằm mục đích tạo ra một GPU mở được phát triển bằng ngôn ngữ Verilog để mô tả và mô hình hóa các hệ thống điện tử. Ban đầu, dự án đang được phát triển bằng trình mô phỏng Verilog, nhưng sau khi hoàn thành, nó có thể được sử dụng để sản xuất chip thực. Sự phát triển của dự án được phân phối theo giấy phép MIT.

VeriGPU được định vị là bộ xử lý dành riêng cho ứng dụng (ASIC) được tối ưu hóa để tăng tốc các phép tính liên quan đến hệ thống máy học. Các kế hoạch bao gồm khả năng tương thích với khung học máy sâu PyTorch và khả năng phát triển ứng dụng cho VeriGPU bằng API HIP (Giao diện tính toán không đồng nhất). Trong tương lai, có thể thêm hỗ trợ cho các API khác, chẳng hạn như SYCL và NVIDIA CUDA.

GPU phát triển từ tập lệnh RISC-V, nhưng kiến ​​trúc bên trong của tập lệnh GPU tương thích yếu với ISA RISC-V, vì trong các trường hợp thiết kế GPU không phù hợp với biểu diễn RISC-V, thì đó là không nhằm mục đích duy trì khả năng tương thích RISC-V. Sự phát triển tập trung vào các khả năng cần thiết cho hệ thống học máy, do đó, để giảm kích thước và độ phức tạp của ma trận chip, nó chỉ sử dụng định dạng dấu phẩy động BF16 và chỉ các phép toán dấu phẩy động cần thiết cho học máy, chẳng hạn như exp, log, tanh và sqrt, đều có sẵn.

Trong số các thành phần hiện có sẵn có bộ điều khiển GPU, APU (Bộ xử lý tăng tốc) cho các phép toán số nguyên (“+”,”-“,”/,”,”*”) và một đơn vị cho các phép toán dấu phẩy động (“+,” ,”*”) và một khối phân nhánh. Để tạo ứng dụng, nó cung cấp trình biên dịch mã và hỗ trợ biên dịch mã trong C++ dựa trên LLVM. Trong số các khả năng được lên kế hoạch, việc thực thi song song các lệnh, bộ nhớ đệm dữ liệu và bộ nhớ lệnh cũng như các hoạt động SIMT (Nhiều lệnh đơn) được nêu bật.

Dự án VeriGPU phát triển GPU mở bằng ngôn ngữ Verilog


Nguồn: opennet.ru

Thêm một lời nhận xét