Vortex 2.1 har publicerats, en öppen GPGPU baserad pÄ RISC-V-arkitekturen

Den nya versionen av Vortex-projektet har publicerats, vilket utvecklar en öppen GPGPU baserad pÄ RISC-V arkitekturens kommandoset, vilket Àr avsett för att utföra parallella berÀkningar med hjÀlp av API:et OpenCL och SIMT-modellen (Single Instruction, Multiple Threads). Projektet kan ocksÄ anvÀndas för forskning inom 3D-grafik och för utveckling av nya GPU-arkitekturer. Scheman, beskrivningar av hÄrdvarublock pÄ Verilog-sprÄket, simulatorer, drivrutiner och relaterad projektdokumentation distribueras under Apache 2.0-licensen.

Grunden för GPGPU utgörs av den typiska ISA RISC-V, vilken har utökats med vissa ytterligare instruktioner som Ă€r nödvĂ€ndiga för att stödja GPU-funktioner och strömhantering. Ändringar i RISC-V-instruktionsuppsĂ€ttningen har minimerats och fasta vektorinstruktionerna har utnyttjats i största möjliga mĂ„n. En liknande strategi anvĂ€nds i RV64X-projektet, som ocksĂ„ utvecklar en öppen GPU baserad pĂ„ RISC-V-teknologier.

Vortex 2.1 har publicerats, en öppen GPGPU baserad pÄ RISC-V-arkitekturen

Vortexs huvudfunktioner:

  • Stöd för 32- och 64-bitars RISC-V RV32IMF och RV64IMAFD instruktionuppsĂ€ttningar.
  • Konfigurerbart antal kĂ€rnor, arbetsblock (warps) och trĂ„dar.
  • Konfigurerbart antal ALU, FPU, LSU och SFU för varje kĂ€rna.
  • Konfigurerbar bredd för pipelineutmatning.
  • Valfri delad minne och cache-minne pĂ„ nivĂ„erna L1, L2 och L3.
  • Stöd för OpenCL 1.2-specifikationen.
  • Möjlighet till implementering pĂ„ FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 och Xilinx Versal VCK5000.
  • Utökade instruktioner: 'tex' för att pĂ„skynda bearbetning av texturer, vx_rast för att styra rasterisering, vx_rop för bearbetning av fragment, djup och transparens, vx_imadd för att utföra operationen 'multiplicera och addera', vx_wspawn, vx_tmc och vx_bar för att aktivera instruktionernas och strömmarnas framkant (wavefront, trĂ„dsamling, parallellt utförda SIMD-motorer), vx_split och vx_join.
  • Stöd för mellanliggande representationer av shaders SPIR-V möjliggörs genom översĂ€ttning till OpenCL.
  • För utveckling av applikationer erbjuds en verktygslĂ„da som inkluderar anpassade alternativ för PoCL (kompilator och OpenCL-runtime) för Vortex, LLVM/Clang, GCC och Binutils.
  • Simulering av chipets funktionalitet stöds med hjĂ€lp av Verilator (Verilog-simulator), RTLSIM (RTL-simulering) och SimX (programvarusimulering).

För grafik inom Vortex-teknologier utvecklas den öppna GPU Skybox, som stöder Vulkan grafik-API. Prototypen Skybox, skapad pÄ FPGA Altera Stratix 10 och som inkluderar 32 kÀrnor (512 trÄdar), nÄdde en fyllnadsprestanda pÄ 3.7 gigapixlar per sekund (29.4 gigatransaktioner per sekund) vid en klockfrekvens av 230 MHz. Det noteras att detta Àr den första öppna GPU:n med bÄde programvaru- och hÄrdvaruimplementering som stöder Vulkan.

Bland förÀndringarna i Vortex 2.1:

  • API:et spawn_taskgroups har lagts till för att starta kĂ€rnor som anvĂ€nder lokal minne och stödjer minnesbarriĂ€rer.
  • Ett nytt tillĂ€gg för skapande av flyttbara (relocatable) binĂ€rkĂ€rnor har föreslagits.
  • Funktioner vx_mem_reserve, vx_mem_access och vx_mem_address har lagts till i minneshanterings-API:et.
  • Ett nytt runtime-API vx_check_occupancy har lagts till.
  • I GPU-drivrutinen har en option lagts till för att kontrollera OpenCL-tester pĂ„ lokal GPU.
  • OpenCL-tester har lagts till som anvĂ€nder lokal minne (psum, sgemm2, sgemm3).
  • Speciellt anpassade versioner av biblioteken libc och librt för Vortex har lagts till.
  • Stöd för sammanslagning av nĂ€rliggande lediga minnesblock (memory coalescing) har lagts till.
  • Optimisering av mikroarkitekturen har genomförts.
  • Ett nytt byggskript har lagts till som separerar kĂ€llfiler frĂ„n byggkatalogen.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster