Project Overview
This project focused on accelerating Finite State Automata (FSA) computations using the Vortex RISC-V soft-GPU. Despite FSAs being embarrassingly sequential by nature, we explored parallelization opportunities at the hardware level.
Technical Implementation
I designed and implemented lightweight custom kernels in OpenCL specifically optimized for the Vortex soft-GPU architecture. The implementation required deep understanding of:
- RISC-V instruction set architecture extensions
- GPU memory hierarchies and optimization techniques
- OpenCL programming model and kernel optimization
- Pattern-matching algorithms and their parallelization challenges
Results
The optimized implementation achieved up to 1.7 Instructions Per Cycle (IPC), significantly improving pattern-matching performance compared to naive sequential implementations.
Tools & Technologies
- Languages: C++, OpenCL
- Hardware: Vortex RISC-V Soft-GPU
- Tools: Vivado, Make
- Concepts: GPU programming, hardware optimization, parallel computing
License
You can find the Vortex architecture and images on GeorgiaTech Vortex GitHub Repository.