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:

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.