Megjelent a Vortex 3.0, egy RISC-V architektúrán alapuló nyílt forráskódú GPGPU

A Vortex 3.0 projekt, amely egy nyílt forráskódú GPGPU-t fejleszt a RISC-V utasításkészlet-architektúra alapján, és amelyet párhuzamos számítástechnikára terveztek OpenCL API és SIMT (Single Instruction, Multiple Threads) végrehajtási modell használatával, mostantól elérhető. A projekt 3D grafikai kutatásra és új GPU-architektúrák fejlesztésére is használható. A kapcsolási rajzok, a Verilog hardverblokk-leírások, a szimulátor, az illesztőprogramok és a kísérő tervezési dokumentáció az Apache 2.0 licenc alatt érhető el.

A GPGPU a szabványos RISC-V ISA-n alapul, amelyet további utasításokkal egészítettek ki a GPU-funkciók és a szálkezelés támogatása érdekében. A RISC-V utasításkészlet-architektúrájában a változtatásokat minimálisra csökkentették, és ahol csak lehetséges, a meglévő vektorutasításokat használták. További utasítások a következők: "tex" a textúra-feldolgozás gyorsításához; vx_rast a raszterizáció vezérléséhez; vx_rop a töredék-, mélység- és átlátszóság-feldolgozáshoz; vx_imadd a szorzás-összeadás műveletekhez; vx_wspawn, vx_split, vx_join, vx_tmc és vx_bar a SIMD Engine által párhuzamosan végrehajtott szálcsoportok (hullámfrontok) aktiválásához.

A fejlesztés alatt álló GPGPU támogatja a 32 és 64 bites RISC-V RV32IMF és RV64IMAFD utasításkészlet-architektúrákat, és tartalmazhat opcionális megosztott memóriát, L1, L2 és L3 gyorsítótárakat, valamint konfigurálható számú magot, warp-ot és szálat. Minden mag konfigurálható számú ALU-t, FPU-t, LSU-t és SFU-t is tartalmazhat. A Xilinx és Altera FPGA-k prototípuskészítéshez, a Verilator (Verilog szimulátor), az RTLSIM (RTL szimuláció) és a SimX (szoftver szimuláció) pedig chip szimulációhoz használható.

Alkalmazásfejlesztéshez egy eszközkészletet kínálnak, amely tartalmazza a PoCL (OpenCL fordító és futtatókörnyezet), az LLVM/Clang, a GCC és a Binutils Vortex-adaptált verzióit. A projekt támogatja az OpenCL 1.2 specifikációt, és OpenCL-re való fordításon keresztül támogatja a shaderek SPIR-V köztes reprezentációját.

A Vortex 3.0 változásai a következők:

  • Hozzáadtunk egy hardveres grafikus stacket, beleértve a raszterizálás, a textúra-leképezés és a kimeneti egyesítés (OM) blokkjait. A megvalósított grafikus stack és a lavapipe szoftveres raszterező alapján kifejlesztettünk egy Vulkan illesztőprogramot, a Vortexpipe-ot a Mesa számára.
  • A gépi tanulási modellek végrehajtásának felgyorsítására tervezett Tensor Core képességeit kibővítették, támogatva a strukturált ritkaságot a súlymátrixok tömörítéséhez.
  • A WGMMA (warpgroup-szintű mátrixszorzás) műveletet aszinkron módban történő mátrixszorzáshoz implementálták.
  • Hozzáadott DXA (Data Transfer Acceleration) motort a globális memóriából a helyi memóriába történő adatátvitel felgyorsításához.
  • Egy új architektúrát valósítottak meg, amely egy parancsfeldolgozón (CP) és a számítási magok hardveres ütemezőjén (KMU - Kernel Management Unit) alapul, és lehetővé teszi a számítási szálak chipoldalra irányítását.
  • Egy új futásidejű függvénytárat javasolnak, amely nem blokkoló módban működik, és absztrakciókat biztosít, amelyek aszinkron módon végrehajtott hardverparancsokká fordíthatók le. Támogatott várólisták, események, modulok és aszinkron akadályokon alapuló szinkronizáció érkezés/várakozás/esemény szemantikájával.
  • Hozzáadott támogatás a RISC-V rövidített utasításokhoz (RVC).
  • Hardveres támogatás az atomi műveletekhez (Hardware Atomics) implementálva lett.
  • Az FPU-t teljesen áttervezték, és új szorzó (Wallace-fa, hajtogatott radix) és összeadó (Kogge-Stone) blokkokat vezettek be.
  • Hozzáadtunk egy virtuális memóriavermet a memóriakezelő egység (MMU) alapján, amely támogatja a 32 bites SV32 virtuális címzési architektúrát.
  • RISC-V Zicond kiterjesztés támogatása feltételes műveletek megvalósításával.
  • Integrált óravezérlés.
  • A HIP (Heterogeneous Interface for Portability) nyelv támogatását a chipStar keretrendszeren keresztül valósították meg, amely a HIP-et SPIR-V-vé fordítja.
  • Teljes integráció valósult meg a GEM5 szimulátorral, és támogatást kaptunk a SimX szimulátorhoz a TLM (Transaction-Level Modeling) architektúrán.
  • Hozzáadva a Synopsys és Yosys eszközkészletek támogatása a chipgyártás logikai szintéziséhez, valamint az ASAP7 (7 nm), SAED14 (14 nm) és NanGate (15 nm) szabványos elemkönyvtárak használatának támogatása.
  • A referencia eszköztár frissítve lett az LLVM 20 és a POCL 7.0 verzióra.

Forrás: opennet.ru

Vásároljon megbízható tárhelyet DDoS védelemmel, VPS VDS szerverekkel rendelkező webhelyekhez 🔥 Vásároljon megbízható weboldal tárhelyet DDoS védelemmel, VPS VDS szerverekkel | ProHoster