High Performance Processors and Systems · Politecnico di Milano · 2025
FSA Computations on a RISC-V Soft-GPU
Lightweight OpenCL kernels that accelerate finite-state-automata processing on the Vortex RISC-V soft-GPU, reaching up to 1.7 IPC.
Finite-state automata are “embarrassingly sequential”: each step depends on the previous state, which makes them a poor fit for GPUs on paper. This project looked for the parallelism that is still there, accelerating automata processing on Vortex, an open-source RISC-V GPU that runs on FPGAs.
Implementation
I designed and implemented lightweight custom kernels in OpenCL, tuned for the Vortex architecture. That required a close look at:
- RISC-V instruction set extensions used by Vortex
- the GPU memory hierarchy and how the kernels access it
- the OpenCL programming model and kernel optimization
- pattern-matching algorithms and why they are hard to parallelize
Results
The optimized kernels reach up to 1.7 instructions per cycle (IPC), a clear improvement in pattern-matching throughput over naive sequential implementations.
Stack
C++ · OpenCL · Vortex RISC-V soft-GPU · Vivado · Make
Vortex architecture diagram from the Vortex repository (Georgia Tech).