RISC-V mimarisini temel alan açık kaynaklı bir GPGPU olan Vortex 3.0 yayınlandı

RISC-V komut seti mimarisine dayalı ve OpenCL API'si ile SIMT (Tek Komut, Çoklu İş Parçacığı) yürütme modeli kullanılarak paralel hesaplama için tasarlanmış açık kaynaklı bir GPGPU geliştiren Vortex 3.0 projesi artık kullanıma sunuldu. Proje ayrıca 3D grafik araştırmaları ve yeni GPU mimarilerinin geliştirilmesi için de kullanılabilir. Şemalar, Verilog dilindeki donanım bloğu açıklamaları, simülatör, sürücüler ve beraberindeki tasarım dokümantasyonu Apache 2.0 lisansı altında dağıtılmaktadır.

GPGPU, GPU özelliklerini ve iş parçacığı yönetimini desteklemek için ek talimatlarla genişletilmiş standart RISC-V ISA'ya dayanmaktadır. RISC-V komut seti mimarisindeki değişiklikler minimumda tutulmuş ve mümkün olduğunca mevcut vektör talimatları kullanılmıştır. Ek talimatlar şunlardır: doku işlemeyi hızlandırmak için "tex"; rasterleştirme kontrolü için vx_rast; parça, derinlik ve şeffaflık işleme için vx_rop; çarpma ve toplama işlemleri için vx_imadd; SIMD Motoru tarafından paralel olarak yürütülen iş parçacığı gruplarını (dalga cepheleri) etkinleştirmek için vx_wspawn, vx_split, vx_join, vx_tmc ve vx_bar.

Geliştirilmekte olan GPGPU, 32 ve 64 bit RISC-V RV32IMF ve RV64IMAFD komut seti mimarilerini destekler ve isteğe bağlı paylaşımlı bellek, L1, L2 ve L3 önbellekleri ile yapılandırılabilir sayıda çekirdek, warp ve iş parçacığı içerebilir. Her çekirdek ayrıca yapılandırılabilir sayıda ALU, FPU, LSU ve SFU içerebilir. Prototipleme için Xilinx ve Altera FPGA'lar, çip simülasyonu için ise Verilator (Verilog simülatörü), RTLSIM (RTL simülasyonu) ve SimX (yazılım simülasyonu) kullanılabilir.

Uygulama geliştirme için, PoCL'nin (OpenCL derleyicisi ve çalışma zamanı), LLVM/Clang, GCC ve Binutils'in Vortex'e uyarlanmış sürümlerini içeren bir araç seti sunulmaktadır. Proje, OpenCL 1.2 spesifikasyonunu desteklemekte ve OpenCL'e çeviri yoluyla gölgelendiricilerin SPIR-V ara gösterimine yönelik desteği uygulamaktadır.

Vortex 3.0'daki değişiklikler şunlardır:

  • Donanım tabanlı bir grafik yığını eklendi; bu yığın, rasterleştirme, doku eşleme ve çıktı birleştirme (OM) bloklarını içeriyor. Uygulanan grafik yığını ve lavapipe yazılım rasterleştiricisine dayalı olarak Mesa için bir Vulkan sürücüsü olan vortexpipe geliştirildi.
  • Makine öğrenimi modellerinin yürütülmesini hızlandırmak için tasarlanan Tensor Core'un yetenekleri, ağırlık matrislerini sıkıştırmak için yapılandırılmış seyrek veri desteği eklenerek genişletildi.
  • Asenkron modda matris çarpımı için WGMMA (warpgroup-level matrix multiplication) işlemi uygulanmıştır.
  • Küresel bellekten yerel belleğe veri aktarımını hızlandırmak için DXA (Veri Aktarım Hızlandırma) motoru eklendi.
  • Komut işlemcisi (CP) ve hesaplama çekirdeklerinin donanım zamanlayıcısı (KMU - Çekirdek Yönetim Birimi) temel alınarak, hesaplama iş parçacıklarının çip tarafına gönderilmesini sağlayan yeni bir mimari hayata geçirildi.
  • Engelleme yapmayan modda çalışan ve eşzamansız olarak yürütülen donanım komutlarına çevrilebilen soyutlamalar sağlayan yeni bir çalışma zamanı kütüphanesi önerilmektedir. Kuyruklar, olaylar, modüller ve varma/bekleme/olay semantiğine sahip eşzamansız bariyerlere dayalı senkronizasyon desteklenmektedir.
  • RISC-V Kısaltılmış Talimatlar (RVC) için destek eklendi.
  • Atomik işlemler için donanım desteği (Donanım Atomik İşlemleri) uygulamaya konmuştur.
  • FPU tamamen yeniden tasarlandı ve yeni çarpan (Wallace-tree, Folded-radix) ve toplayıcı (Kogge-Stone) blokları eklendi.
  • 32 bit SV32 sanal adresleme mimarisini destekleyen bellek yönetim birimine (MMU) dayalı sanal bir bellek yığını eklendi.
  • Koşullu işlemlerin uygulanmasıyla birlikte RISC-V Zicond uzantısı için destek.
  • Entegre saat kapılaması.
  • HIP (Heterogeneous Interface for Portability) diline yönelik destek, HIP'i SPIR-V'ye çeviren chipStar çerçevesi aracılığıyla sağlanmıştır.
  • GEM5 simülatörüyle tam entegrasyon sağlandı ve TLM (İşlem Düzeyinde Modelleme) mimarisi üzerinde SimX simülatörü için destek eklendi.
  • Çip üretiminde mantık sentezi için Synopsys ve Yosys araç setlerine destek eklendi, ayrıca ASAP7 (7nm), SAED14 (14nm) ve NanGate (15nm) standart eleman kütüphanelerinin kullanımına da destek sağlandı.
  • Referans araç zinciri LLVM 20 ve POCL 7.0'a güncellendi.

Kaynak: opennet.ru

DDoS korumalı siteler, VPS VDS sunucuları için güvenilir hosting satın alın 🔥 DDoS korumalı, güvenilir VPS ve VDS sunucu barındırma hizmeti satın alın | ProHoster