Accelerating software development for emerging ISA extensions with cloud-based FPGAs: RVV case study
Authors: Marek PikuĊa, Marek Szyprowski (Samsung R&D Institute Poland)
The RISC-V Vector Extension (RVV) promises an enhanced performance and power efficiency across various complex computational tasks. However, the efficient utilization of RVV demands careful consideration of the optimization approach. This article examines strategies for accelerating this process. Key challenges include assessing performance differences among algorithmic approaches and overcoming initial hardware constraints. FireSim provides a comprehensive solution by offering advanced software and hardware simulation capabilities. Utilizing FireSim, we started the process of enhancing source code with RVV instructions (called vectorization) for the pixman project. Our experience outlines the efficacy of a cloud-based FPGA simulation in expediting software development for emerging ISA extensions. Overall, FireSim facilitates faster iteration cycles and informed design decisions, benefiting individual developers and fostering collaboration in remote teams.
Resources
On this website you can find all resources for my poster submission for RISC-V Summit Europe 2024 and ORConf 2024:
- GitHub repository with all resources
- Extended abstract (PDF version)
- Poster (PDF)
- ORConf 2024 main talk (slides)
- ORConf 2024 lightning talk (slides, title: CI setup for multi-platform software project)
You can read my RISC-V Summit Europe 2024 summary with some more information about this project on my blog.
Code
The following repositories were modified in process of this project:
Note
All repositories are available as submodules in the code
directory.
Benchmarks
In order to assess performance of PULP Ara, rvv-bench was used. Results are available here. It uses a modified rvv-bench suite.