VeriGPU projesi, Verilog dilinde açık bir GPU geliştirir

VeriGPU projesi, Verilog elektronik sistemleri tanımlama ve modelleme dilinde geliştirilmiş açık bir GPU oluşturmayı amaçlamaktadır. Başlangıçta proje Verilog simülatörü kullanılarak geliştiriliyor, ancak hazır hale getirildikten sonra gerçek çipler üretmek için kullanılabilir. Proje geliştirmeleri MIT lisansı altında dağıtılmaktadır.

VeriGPU, makine öğrenimi sistemleriyle ilgili hesaplamaları hızlandırmak için optimize edilmiş bir Uygulamaya Özel İşleme Birimi (ASIC) olarak konumlandırılmıştır. Planlar, PyTorch derin makine öğrenimi çerçevesiyle uyumluluk sağlamayı ve HIP (Heterogenous-Compute Interface) API'sini kullanarak VeriGPU için uygulama geliştirme olasılığını belirtiyor. Gelecekte, SYCL ve NVIDIA CUDA gibi diğer API'ler için desteğin eklenmesi göz ardı edilmeyecektir.

GPU, RISC-V komut setine dayalı olarak gelişir, ancak GPU komut setinin ortaya çıkan dahili mimarisi, GPU tasarımının RISC-V temsiline uymadığı durumlarda RISC-V ISA ile zayıf bir şekilde uyumludur. , RISC-V ile uyumluluğu koruma görevi belirlenmedi. Geliştirme, makine öğrenimi sistemleri için gereken yeteneklere odaklanmıştır, bu nedenle çip matrisinin boyutunu ve karmaşıklığını azaltmak için yalnızca BF16 kayan nokta formatı kullanılır ve yalnızca makine öğrenimi için talep edilen kayan nokta işlemleri örn. exp, log, tanh ve sqrt mevcuttur.

Mevcut bileşenlerden GPU denetleyicisi, tam sayı işlemleri için APU (Hızlandırılmış İşlem Birimi) ("+", "-", "/", "*"), kayan nokta işlemleri için blok ("+", "*" ) ve bir dallanma birimi. Uygulama oluşturmak için bir derleyici ve LLVM tabanlı C++ kodunu derleme desteği sunulur. Planlanan özelliklerden, talimatların paralel yürütülmesi, verilerin ve talimat belleğinin önbelleğe alınması, SIMT işlemleri (Single komut çoklu iş parçacığı) öne çıkıyor.

VeriGPU projesi, Verilog dilinde açık bir GPU geliştirir


Kaynak: opennet.ru

Yorum ekle