Vortico 3.0, malfermfonteca GPGPU bazita sur la RISC-V-arkitekturo, estis publikigita

La projekto Vortex 3.0, kiu evoluigas malfermfontan GPGPU-on bazitan sur la instrukciara arkitekturo RISC-V kaj estas desegnita por paralela komputado uzante la OpenCL API kaj la SIMT (Ununura Instrukcio, Multoblaj Fadenoj) ekzekutmodelon, nun haveblas. La projekto ankaŭ povas esti uzata por esplorado pri 3D-grafikaĵoj kaj la evoluigo de novaj GPU-arkitekturoj. La skemoj, priskriboj de aparataraj blokoj en Verilog, simulilo, peliloj kaj akompananta dezajna dokumentado estas distribuitaj sub la permesilo Apache 2.0.

GPGPU baziĝas sur la norma RISC-V ISA, etendita per pliaj instrukcioj por subteni GPU-funkciojn kaj fadenadministradon. Ŝanĝoj al la arkitekturo de la RISC-V instrukciaro estas minimumigitaj, kaj ekzistantaj vektoraj instrukcioj estas uzataj kiam ajn eblas. Pliaj instrukcioj inkluzivas: "tex" por akceli teksturan prilaboradon; vx_rast por rastruma kontrolo; vx_rop por fragmenta, profunda kaj travidebla prilaborado; vx_imadd por multiplikaj kaj aldonaj operacioj; vx_wspawn, vx_split, vx_join, vx_tmc kaj vx_bar por aktivigi grupojn de fadenoj (ondofrontoj) ekzekutitaj paralele de la SIMD-Motoro.

La disvolvata GPGPU subtenas 32- kaj 64-bitajn instrukciarajn arkitekturojn RISC-V RV32IMF kaj RV64IMAFD kaj povas inkluzivi laŭvolan komunan memoron, L1, L2 kaj L3 kaŝmemorojn, kaj agordebla nombro da kernoj, varpoj kaj fadenoj. Ĉiu kerno ankaŭ povas inkluzivi agordeblan nombron da ALU-oj, FPU-oj, LSU-oj kaj SFU-oj. Xilinx kaj Altera FPGA-oj povas esti uzataj por prototipado, kaj Verilator (Verilog-simulado), RTLSIM (RTL-simulado) kaj SimX (programara simulado) povas esti uzataj por ico-simulado.

Por aplikaĵa disvolviĝo, ilaro estas ofertita, inkluzive de Vortex-adaptitaj versioj de PoCL (OpenCL-kompililo kaj rultempo), LLVM/Clang, GCC, kaj Binutils. La projekto subtenas la OpenCL 1.2 specifon kaj efektivigas subtenon por la SPIR-V meza reprezentado de ombrantoj per traduko al OpenCL.

Ŝanĝoj en Vortex 3.0 inkluzivas:

  • Aparatara grafika stako estis aldonita, inkluzive de blokoj por rastrumigo, tekstura mapado kaj elira kunfandado (OM). Vulkan-pelilo, vortexpipe, estis evoluigita por Mesa bazita sur la efektivigita grafika stako kaj la lavapipe-programara rastrumilo.
  • La kapabloj de la Tensor Core, desegnita por akceli la efektivigon de maŝinlernadaj modeloj, estis vastigitaj, efektivigante subtenon por strukturita sparseco por kunpremi pezmatricojn.
  • La operacio WGMMA (varpgrup-nivela matrica multipliko) estis efektivigita por matrica multipliko en nesinkrona reĝimo.
  • Aldonis DXA (Data Transfer Acceleration) motoron por rapidigi datumtransigon de tutmonda al loka memoro.
  • Nova arkitekturo estis efektivigita bazita sur komandprocesoro (KP) kaj aparatara planilo de komputilaj kernoj (KMU - Kernel Management Unit), kiu ebligas la sendadon de komputilaj fadenoj al la icoflanko.
  • Nova rultempa biblioteko estas proponita, kiu funkcias en ne-bloka reĝimo kaj provizas abstraktadojn, kiuj tradukiĝas en nesinkrone plenumatajn aparatarajn komandojn. Atendovicoj, eventoj, moduloj kaj sinkronigado bazitaj sur nesinkronaj bariloj kun alveno/atendo/okazaĵo semantiko estas subtenataj.
  • Aldonita subteno por RISC-V Mallongigitaj Instrukcioj (RVC).
  • Aparatara subteno por atomaj operacioj (Aparataro Atomika) estas efektivigita.
  • La FPU estis tute restrukturita kaj novaj multiplikataj (Wallace-arbo, Faldita-radikso) kaj sumilo (Kogge-Stone) blokoj estis enkondukitaj.
  • Aldonis virtualan memorstakon bazitan sur la memoradministra unuo (MMU) kun subteno por la 32-bita SV32 virtuala adresarkitekturo.
  • Subteno por la RISC-V Zicond-etendaĵo kun efektivigo de kondiĉaj operacioj.
  • Integra horloĝa pordego.
  • Subteno por la lingvo HIP (Heterogeneous Interface for Portability) estis efektivigita per la kadro chipStar, kiu tradukas HIP en SPIR-V.
  • Plena integriĝo kun la GEM5-simulilo estis provizita, kaj subteno por la SimX-simulilo sur la TLM (Transakcio-Nivela Modelado) arkitekturo estis aldonita.
  • Aldonita subteno por la ilaroj Synopsys kaj Yosys por logika sintezo por fabrikado de ico, kaj ankaŭ subteno por uzi la normajn elementajn bibliotekojn ASAP7 (7nm), SAED14 (14nm) kaj NanGate (15nm).
  • La referenca ilaro estis ĝisdatigita al LLVM 20 kaj POCL 7.0.

fonto: opennet.ru

Aĉetu fidindan gastigadon por retejoj kun DDoS-protekto, VPS-VDS-serviloj 🔥 Aĉetu fidindan retejan gastigadon kun DDoS-protekto, VPS VDS-servilojn | ProHoster