Vortex — otevřený GPGPU založený na architektuře RISC-V, kompatibilní s OpenCL

Skupina výzkumníků z Technologického institutu Georgie vyvíjí výzkumný projekt Vortex, který nabízí otevřený GPGPU založený na architektuře instrukční sady RISC-V, zaměřený na provádění paralelních výpočtů pomocí API OpenCL a modelu provádění SIMT (Single Instruction, Multiple Threads), a také na provádění výzkumů v oblasti 3D grafiky a vývoje nových architektur GPU. Projekt je zatím v prototypové fázi fungující pomocí FPGA. Schémata, popisy hardwarových bloků ve Verilogu, simulátor, ovladače a související projektová dokumentace jsou distribuovány pod licencí BSD.

V současné podobě je poskytována typová ISA RISC-V, rozšířená o některé další instrukce potřebné pro podporu funkcí GPU a řízení vláken. Při vývoji se autoři projektu snažili minimalizovat změny v architektuře instrukční sady RISC-V, pokud to bylo možné, využíváním již existujících vektorových instrukcí. Podobný přístup je také uplatněn v projektu RV64X, který rovněž vyvíjí otevřenou GPU na základě technologií RISC-V.

Vortex - otevřený GPGPU na bázi architektury RISC-V, kompatibilní s OpenCL.

Možnosti Vortexu pro zpracování grafiky jsou zatím omezené. Bylo oznámeno, že Vortex podporuje OpenGL ES, ale v samotném GPU je zatím implementována pouze instrukce "tex" pro urychlení zpracování textur, která se provádí na úrovni fragmentového shadery. Vestavěný rasterizátor chybí — veškeré zpracování geometrických operací probíhá na straně systémového CPU, a základní primitivi pro body, čáry a trojúhelníky, stejně jako zpracování fragmentů, hloubky a průhlednosti, jsou realizovány pomocí jádra OpenCL.

Vortex - otevřený GPGPU na bázi architektury RISC-V, kompatibilní s OpenCL.

V budoucnu se plánuje implementace specifických rozšíření ISA pro zpracování grafiky, přidání podpory API CUDA a Vulkan, stejně jako rozšíření pro urychlení systémů strojového učení a analýzy dat. Pro vývoj aplikací je k dispozici nástrojový kit, který zahrnuje upravené varianty PoCL (kompilátor a runtime OpenCL) pro práci s Vortexem, LLVM/Clang, GCC a Binutils. Podporována je simulace čipu pomocí Verilatoru (Verilogový simulátor) a SimX (softwarová simulace).

Vortex - otevřený GPGPU na bázi architektury RISC-V, kompatibilní s OpenCL.

Hlavní vlastnosti Vortex:

  • Podpora architektury instrukční sady RISC-V RV32IMF.
  • Škálování čipu na 64 jader s volitelnými cache L2 a L3.
  • Každé jádro může vykonávat 1024 vláken a pracovat s frekvencí 250 MHz.
  • Maximální výpočetní výkon je odhadován na 128 Gflops a šířka pásma paměti je 16 GB/s. 32-jádrová implementace, pracující na frekvenci 200 MHz, na bázi FPGA Altera Stratix 10, vykázala výkon 25,6 GFlops.
  • Podpora standardu OpenCL 1.2.
  • Možnost realizace na bázi FPGA Intel Arria 10 a Intel Stratix 10.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster