Projek VeriGPU membangunkan GPU terbuka dalam bahasa Verilog

Projek VeriGPU bertujuan untuk mencipta GPU terbuka yang dibangunkan dalam bahasa Verilog untuk menerangkan dan memodelkan sistem elektronik. Pada mulanya, projek ini sedang dibangunkan menggunakan simulator Verilog, tetapi setelah siap ia boleh digunakan untuk pengeluaran cip sebenar. Perkembangan projek itu diedarkan di bawah lesen MIT.

VeriGPU diletakkan sebagai pemproses khusus aplikasi (ASIC) yang dioptimumkan untuk mempercepatkan pengiraan yang berkaitan dengan sistem pembelajaran mesin. Pelan termasuk keserasian dengan rangka kerja pembelajaran mesin dalam PyTorch dan keupayaan untuk membangunkan aplikasi untuk VeriGPU menggunakan API HIP (Heterogenous-Compute Interface). Pada masa hadapan, adalah mungkin untuk menambah sokongan untuk API lain, seperti SYCL dan NVIDIA CUDA.

GPU berkembang daripada set arahan RISC-V, tetapi seni bina dalaman set arahan GPU yang terhasil adalah serasi lemah dengan RISC-V ISA, kerana dalam situasi di mana reka bentuk GPU tidak sesuai dengan perwakilan RISC-V, ia adalah tidak bertujuan untuk mengekalkan keserasian RISC-V . Pembangunan tertumpu pada keupayaan yang diperlukan untuk sistem pembelajaran mesin, jadi untuk mengurangkan saiz dan kerumitan matriks cip, ia hanya menggunakan format titik terapung BF16 dan hanya operasi titik terapung yang diperlukan untuk pembelajaran mesin, seperti exp, log, tanh dan sqrt, tersedia.

Antara komponen yang sedia ada ialah pengawal GPU, APU (Unit Pemprosesan Dipercepat) untuk operasi integer (β€œ+”,”-β€œ,”/,”,”*”), dan unit untuk operasi titik terapung (β€œ+,” ,”*”) dan blok bercabang. Untuk mencipta aplikasi, ia menawarkan pemasang dan sokongan untuk menyusun kod C++ berdasarkan LLVM. Antara keupayaan yang dirancang, pelaksanaan selari arahan, caching data dan memori arahan, dan operasi SIMT (Single instruction multiple thread) diserlahkan.

Projek VeriGPU membangunkan GPU terbuka dalam bahasa Verilog


Sumber: opennet.ru

Tambah komen