Proyek VeriGPU mengembangkan GPU terbuka dalam bahasa Verilog

Proyek VeriGPU bertujuan untuk membuat GPU terbuka yang dikembangkan dalam deskripsi sistem elektronik Verilog dan bahasa pemodelan. Awalnya, proyek ini sedang dikembangkan menggunakan simulator Verilog, tetapi setelah disiapkan, dapat digunakan untuk memproduksi chip asli. Pengembangan proyek didistribusikan di bawah lisensi MIT.

VeriGPU diposisikan sebagai Application Specific Processing Unit (ASIC) yang dioptimalkan untuk mempercepat komputasi terkait sistem pembelajaran mesin. Rencana menyebutkan menyediakan kompatibilitas dengan kerangka pembelajaran mesin mendalam PyTorch dan kemungkinan mengembangkan aplikasi untuk VeriGPU menggunakan API HIP (Heterogeneous-Compute Interface). Ke depannya, penambahan dukungan untuk API lain, seperti SYCL dan NVIDIA CUDA, tidak menutup kemungkinan.

GPU berevolusi berdasarkan set instruksi RISC-V, tetapi arsitektur internal yang dihasilkan dari set instruksi GPU kurang kompatibel dengan RISC-V ISA, karena dalam situasi di mana desain GPU tidak sesuai dengan representasi RISC-V , tugas menjaga kompatibilitas dengan RISC-V tidak diatur. . Pengembangan difokuskan pada kemampuan yang dibutuhkan untuk sistem pembelajaran mesin, oleh karena itu, untuk mengurangi ukuran dan kompleksitas matriks chip, hanya format floating point BF16 yang digunakan, dan hanya operasi floating point yang dibutuhkan untuk pembelajaran mesin, seperti exp, log, tanh dan sqrt, tersedia.

Dari komponen yang sudah tersedia, GPU controller, APU (Accelerated Processing Unit) untuk operasi integer (“+”, “-“, “/”, “*”), blok untuk operasi floating point (“+”, “*” ) dan unit percabangan. Untuk membuat aplikasi, assembler dan dukungan untuk mengkompilasi kode C++ berdasarkan LLVM ditawarkan. Dari fitur yang direncanakan, eksekusi instruksi paralel, caching data dan memori instruksi, operasi SIMT (Instruksi tunggal beberapa utas) menonjol.

Proyek VeriGPU mengembangkan GPU terbuka dalam bahasa Verilog


Sumber: opennet.ru

Tambah komentar