Vortex, projekti, joka kehittää RISC-V:hen perustuvaa GPGPU:ta

Vortex, RISC-V-pohjainen GPGPU

RISC-V on arkkitehtuuri, joka on saavuttanut paljon suosiota Viime vuosina tämä johtuu avoimen lähdekoodin (ISA) suunnittelusta ja tästä, lisäten, että siitä on tullut yksi tärkeimmistä prosessoriarkkitehtuureista joustavuuden ja modulaarisuuden ansiosta.

Kiitos siitä Erilaisia ​​RISC-V:hen perustuvia projekteja on käynnistetty ja yksi niistä on Vortex, josta aiomme puhua tänään täällä blogissa.

Mikä on Vortex-projekti?

Pyörre es projekti, joka kehittää GPGPU:ta, perustuu RISC-V-arkkitehtuuriin. Projekti on suunniteltu suorittamaan rinnakkaislaskentaa OpenCL API:n ja SIMT-suoritusmallin avulla.

Vortex GPGPU:n ydin on yleinen RISC-V, johon on tehty parannuksia joidenkin lisäohjeiden kera tarvitaan tukemaan GPU-toimintoja ja säiettä. Samanaikaisesti muutokset RISC-V-käskysarjan arkkitehtuuriin pidetään minimissä ja olemassa olevia vektorikäskyjä käytetään aina kun mahdollista. Samanlaista lähestymistapaa käytetään RV64X-projektissa, joka kehittää myös RISC-V-teknologioihin perustuvaa avointa GPU:ta.

Toinen ominaisuus Vortex on se GPGPU on edistyneet ohjeet, joita ovat: »tex» tekstuurin käsittelyn nopeuttamiseen, «vx_rast» rasteroinnin ohjaamiseen, «vx_rop» fragmenttien, syvyyden ja läpinäkyvyyden käsittelyyn, «vx_imadd» kerto- ja yhteenlaskutoimintojen suorittamiseen, «vx_wspawn» , "vx_tmc" ja "vx_bar" aktivoi käskyjen reunat ja aaltorintamat (joukko säikeitä, jotka SIMD-moottori suorittaa rinnakkain), "vx_split" ja "vx_join".

cVortex-pääominaisuudet erottuvat joukosta löytyvät seuraavat:

  •  Tuki 32- ja 64-bittisille RISC-V-käskysarjaarkkitehtuureille: RV32IMF ja RV64IMAFD.
  • Konfiguroitavuus: Konfiguroitava määrä ytimiä, tehtävälohkoja (loimet) ja säikeitä.
  • Prosessointiyksikkö: Konfiguroitava määrä ALU:ta, FPU:ta, LSU:ta ja SFU:ta ydintä kohti.
  • Poistoaukon leveys: Säädettävä putken poistoaukon leveys.
  • Muisti: Valinnainen jaettu muisti ja L1-, L2- ja L3-välimuistit.
  • OpenCL 1.2 -määritystuki.
  • FPGA-pohjainen toteutus: Mahdollisuus toteuttaa Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 ja Xilinx Versal VCK5000 FPGA:illa.
  • SPIR-V-tuki: Toteutettu kääntämällä OpenCL:ään.
    Kehitystyökalut: Työkalusarja, joka sisältää muunnelmia PoCL:stä (OpenCL-kääntäjä ja runtime), LLVM/Clang, GCC ja Binutils, jotka on mukautettu toimimaan Vortexin kanssa.
  • Siru simulointi: Tuettu käyttämällä Verilator (Verilog-simulaattori), RTLSIM (RTL-simulointi) ja SimX (ohjelmistosimulaatio).
    Skybox GPU

Sen lisäksi Vortex-tekniikoihin perustuvaa grafiikkaa varten kehitetään Skybox GPU:ta avoin, joka tukee Vulkan-grafiikkasovellusliittymää. Mainitaan, että Skybox-prototyyppi on luotu Altera Stratix 10 FPGA:n pohjalta ja sisältää 32 ydintä (512 säiettä) 230 MHz:n taajuudella. On huomattava, että tämä on ensimmäinen avoin GPU, joka on yhteensopiva ohjelmisto- ja laitteistototeutuksen kanssa Vulkanin kanssa

On syytä mainita se Tällä hetkellä Vortex-projekti on versiossaan 2.1, joka julkaistiin äskettäin ja tärkeitä muutoksia on tehty, kuten: muistin yhdistämisen tuki (joka nyt tuetaan), CSR-käskyjen käsittely on optimoitu, ylikuormitus on optimoitu, uusi koontikonfiguraatioskripti, mm.

  • Ytimen API lisättypawn_taskgroups käyttää ytimiä, jotka käyttävät paikallista muistia ja esteitä
  • Uusi ajonaikainen laajennus siirrettäville ytimen binaareille ja argumenteille.
  • Uudet ajonaikaisen muistin API lisäykset: vx_mem_reserve, vx_mem_access, vx_mem_address
  • uusi suoritusaikainen API vx_check_occupancy
  • Lisätty GPU-ohjainvaihtoehto OpenCL-testien kokeilemiseksi paikallisella GPU:lla (esim. blackbox.sh –driver=gpu –app=sgemm)
  • Lisätty OpenCL-testit, joita käytetään paikallisen muistin kanssa (psum, sgemm2, sgemm3)
  • Lisätty mukautetut vortex libc- ja librt-kirjastot ohjaushajotusinstrumenteilla.

Jos olet kiinnostunut oppimaan siitä lisää, sinun tulee tietää, että kaaviot, laitteistolohkojen kuvaukset Verilog-kielellä, simulaattori, ajurit ja mukana tuleva suunnitteludokumentaatio jaetaan Apache 2.0 -lisenssillä. Voit tarkistaa tiedot kohdasta seuraava linkki.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.