ËshtĂ« publikuar Vortex 3.0, GPGPU i hapur i bazuar nĂ« arkitekturĂ«n RISC-V

Lëshimi i projektit Vortex 3.0 është tani në dispozicion, që zhvillon GPGPU mbi arkitekturën e setit të komandave RISC-V, i dizenjuar për ekzekutimin e llogaritjeve paralel me përdorimin e API OpenCL dhe modelit të ekzekutimit SIMT (Instruksion i Vetëm, Shumë Threads). Projekti gjithashtu mund të përdoret për kërkime në fushën e grafikës 3D dhe për zhvillimin e arkitekturave të reja të GPU. Skemat, përshkrimet e njësive harduerike në gjuhën Verilog, simuluesi, drejtuesit dhe dokumentacioni i përcjellshëm i projektit shpërndahen nën licencën Apache 2.0.

Baza e GPGPU përbëhet nga ISA tipike RISC-V, e zgjeruar me instruksione shtesë për mbështetje të funksioneve GPU dhe menaxhimin e flukseve. Ndryshimet në arkitekturën e setit të komandave RISC-V janë minimizuar dhe nëse është e mundur, janë përdorur instruksionet vektoriale ekzistuese. Ndër instruksionet shtesë janë: 'tex' për të përshpejtuar përpunimin e teksteve; vx_rast për menaxhimin e rasterizimit, vx_rop për përpunimin e fragmenteve, thellësisë dhe transparencës; vx_imadd për ekzekutimin e operacionit 'shumëzo dhe shto'; vx_wspawn, vx_split, vx_join, vx_tmc dhe vx_bar për aktivizimin e grupeve të flukseve (wavefront) që ekzekutohen paralelisht nga SIMD Engine.

GPGPU i zhvilluar mbështet arkitekturën e setit të komandave RISC-V RV32IMF dhe RV64IMAFD me 32 dhe 64 bit, dhe mund të përfshijë memori të ndarë opsionale, këshilla të nivelit L1, L2 dhe L3, si dhe një numër të konfiguruar të bërthamave, bllokave të detyrave (warps) dhe flukseve. Në përputhje me këtë, për çdo bërthamë ofrohet mundësia për të aktivizuar një numër të konfiguruar të ALU, FPU, LSU dhe SFU. Për krijimin e prototipave mund të përdoren FPGA Xilinx dhe Altera, ndërsa për simulimin e funksionimit të çipit përdoren Verilator (simulues Verilog), RTLSIM (simulim RTL) dhe SimX (simulim programatik).

Për zhvillimin e aplikacioneve ofrohet një mjete, duke përfshirë variante të adaptuara për përdorim me Vortex si PoCL (kompiluesi dhe runtime OpenCL), LLVM/Clang, GCC dhe Binutils. Projekti mbështet specifikimin OpenCL 1.2 dhe përmes transformimit në OpenCL realizohet mbështetje për përfaqësimin e ndërmjetëm të shenjuesve SPIR-V.

Ndër ndryshimet në Vortex 3.0:

  • U shtua njĂ« grackĂ« grafike harduerike, e cila pĂ«rfshin blloket pĂ«r rasterizimin, mbivendosjen e teksteve dhe bashkimin e daljes (OM - Bashkimi i Daljes). PĂ«r Mesa, bazuar nĂ« grackĂ«n grafike tĂ« realizuar dhe rasterizuesin programatik lavapipe, Ă«shtĂ« pĂ«rgatitur drejtuesi Vulkan vortexpipe.
  • JanĂ« zgjeruar funksionet e bĂ«rthamĂ«s tensor, e destinuar pĂ«r tĂ« pĂ«rshpejtuar ekzekutimin e modeleve tĂ« mĂ«simit tĂ« makinerive, e cila implementon mbĂ«shtetje pĂ«r rrallĂ«shmĂ«rinĂ« strukturore (structured sparsity) pĂ«r kompresimin e matricave tĂ« peshave.
  • ËshtĂ« realizuar operacioni WGMMA (shumĂ«zimi i matricave nĂ« nivel warpgroup) pĂ«r shumzimin e matricave nĂ« njĂ« mod tĂ« asinkronshĂ«m.
  • ËshtĂ« shtuar motori DXA (Accelerimi i Transferimit tĂ« tĂ« DhĂ«nave) pĂ«r tĂ« pĂ«rshpejtuar transferimin e tĂ« dhĂ«nave nga memoria globale nĂ« atĂ« lokale.
  • ËshtĂ« realizuar njĂ« arkitekturĂ« e re mbi bazĂ«n e procesorit tĂ« komandave (CP, Command Processor) dhe planifikuesit tĂ« harduerit pĂ«r njĂ«sitĂ« e llogaritjes (KMU — Kernel Management Unit), qĂ« lejon tĂ« çlirohen operacionet e dispeçimit tĂ« flukseve tĂ« llogaritjes nĂ« anĂ«n e çipit.
  • ËshtĂ« propozuar njĂ« runtime-bibliotekĂ« e re qĂ« punon nĂ« njĂ« mod tĂ« pa bllokuar dhe ofron abstraksione qĂ« pĂ«rkthehen nĂ« komanda tĂ« ekzekutueshme asinkrone nĂ« harduer. MbĂ«shteten radhĂ«t, ngjarjet, modulat dhe sinkronizimi mbi bazĂ«n e barrierave asinkrone me semantikĂ«n arrive/wait/event.
  • JanĂ« shtuar mbĂ«shtetje pĂ«r instruksionet e shkurtra RISC-V (RVC).
  • ËshtĂ« realizuar mbĂ«shtetje harduerike pĂ«r operacione atomike (Hardware Atomics).
  • FPU Ă«shtĂ« ripĂ«rshtatur plotĂ«sisht dhe janĂ« propozuar blloqe tĂ« reja shumzuesish (Wallace-tree, Folded-radix) dhe shumatorĂ«sh (Kogge-Stone).
  • ËshtĂ« shtuar njĂ« grumbull virtual i memories mbi bazĂ«n e bllokut tĂ« menaxhimit tĂ« memories (MMU) me mbĂ«shtetje pĂ«r arkitekturĂ«n 32-bit tĂ« adresimit virtual SV32.
  • MbĂ«shtetje pĂ«r zgjerimin RISC-V Zicond me realizimin e operacioneve tĂ« kushtĂ«zuara.
  • ËshtĂ« integruar menaxhimi i frekuencĂ«s sĂ« orĂ«s (clock gating).
  • ËshtĂ« realizuar mbĂ«shtetje pĂ«r gjuhĂ«n HIP (Heterogeneous Interface for Portability) pĂ«rmes framework-ut chipStar, qĂ« pĂ«rkthen HIP nĂ« SPIR-V.
  • ËshtĂ« siguruar integrim i plotĂ« me simulatorin GEM5 dhe Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r simulatorin SimX nĂ« arkitekturĂ«n TLM (Modelimi nĂ« Nivel Transaksioni).
  • JanĂ« shtuar mbĂ«shtetje pĂ«r mjetet Synopsys dhe Yosys pĂ«r sintesĂ«n e logjikĂ«s pĂ«r prodhimin e çipave, si dhe mbĂ«shtetje pĂ«r pĂ«rdorimin e bibliotekave tĂ« elementeve standarde ASAP7 (7nm), SAED14 (14nm) dhe NanGate (15nm).
  • Seti standard i mjeteve Ă«shtĂ« pĂ«rditĂ«suar nĂ« LLVM 20 dhe POCL 7.0.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster