izpis_h1_title_alt

Generiranje vektorske kode za arhitekturo RISC-V
ID Zupančič Muc, Marko (Avtor), ID Slivnik, Boštjan (Mentor) Več o mentorju... Povezava se odpre v novem oknu

.pdfPDF - Predstavitvena datoteka, prenos (503,91 KB)
MD5: 37CB8E9D20A2748258A36D8B995D45F6

Izvleček
V diplomski nalogi je predstavljena razširitev prevajalnika za programski jezik Lang24, ki omogoča avtomatično pretvorbo zank v vektorsko obliko. S tem izboljšamo izrabo vzporednega procesiranja, ki ga podpirajo sodobni procesorji. Zanimajo nas predvsem vektorske razširitve, kot jo najdemo v od- prti arhitekturi RISC-V, ki vpelje vektorske registre in ukaze. Ti omogočajo čisto vzporedno izvajanje enega ukaza nad več podatki. Razširitev je tako sposobna opravljati cevovodno izvajanje na ukazni in podatkovni ravni. Razvili smo prevajalnik, ki omogoča programerjem, da s preprostim ozna- čevanjem zank aktivirajo vektorsko optimizacijo, ne da bi se morali ukvarjati z nizkonivojskim programiranjem ali z uporabo knjižnic, ki lahko otežijo razvoj programske rešitve. Glavni problem je v podatkovnih odvisnostih med operacijami znotraj zanke. Podatkovne odvisnosti pomenijo, da ena iteracija zanke lahko zahteva rezultate prejšnje iteracije, kar preprečuje, da bi bile iteracije izvedene vzporedno. Analiza znak se opravi z uporabo odvisnostnih testov. Po analizi odvisno- sti prevajalnik zgradi odvisnostni graf, ki ga uporabi za generiranje vektorske kode, optimizirane za procesorje arhitekture RISC-V z vektorsko razširitvijo. Končni rezultat je zbirna koda, ki maksimizira učinkovitost izvajanja in upo- raba procesorskih virov.

Jezik:Slovenski jezik
Ključne besede:prevajalnik, vektorski registri, vektorski ukazi, vektorska razširitev, paralelizem, SIMD, RISC-V, RVV
Vrsta gradiva:Diplomsko delo/naloga
Tipologija:2.11 - Diplomsko delo
Organizacija:FRI - Fakulteta za računalništvo in informatiko
Leto izida:2024
PID:20.500.12556/RUL-163934 Povezava se odpre v novem oknu
COBISS.SI-ID:214844163 Povezava se odpre v novem oknu
Datum objave v RUL:14.10.2024
Število ogledov:95
Število prenosov:9
Metapodatki:XML DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Angleški jezik
Naslov:Generation of vector code for the RISC-V architecture
Izvleček:
This work presents an extension to the Lang24 compiler, enabling the au- tomatic transformation of loops into vectorized form. This improves the utilization of parallel processing supported by modern processors. Our focus is on vector extensions, such as those found in the open RISC-V architec- ture, which introduces vector registers and instructions. These allow for clean parallel execution of a single instruction across multiple data points. The extension is thus capable of pipelined execution at both the instruction and data levels. We developed a compiler that allows programmers to activate vector opti- mization by simply annotating loops, without needing to deal with low-level programming or using libraries that can complicate software development. The main challenge lies in data dependencies between operations within the loop. Data dependencies mean that one iteration of the loop might require results from the previous iteration, which prevents iterations from being ex- ecuted in parallel. The analysis of loops is performed using dependence tests. After this analysis, the compiler builds a dependency graph, which it uses to generate vector code optimized for processors with RISC-V architecture and vector extensions. The final result is assembly code that maximizes execution effi- ciency and the use of processor resources.

Ključne besede:compiler, vector registers, vector instructions, vector extension, SIMD, RISC-V, RVV

Podobna dela

Podobna dela v RUL:
Podobna dela v drugih slovenskih zbirkah:

Nazaj