PARISCV: A Profiler for Application-Specific Acceleration on RISC-V

Centre for Heterogeneous and Intelligent Processing Systems, PES University
Block Diagram

Abstract

PARISCV is a powerful profiler designed to optimize RISC-V applications by identifying and leveraging extensions for application-specific acceleration. With a comprehensive workflow, it efficiently processes traces, performs analysis, and provides valuable insights to enhance the performance of your RISC-V based projects.


Results

Below shows the results obtained using our profiler for the applications of Embench-suite. Frequently executed instructions from common extensions are reported.

Usage

Getting Started

Welcome to our project! This guide will help you get started quickly.

Dependencies

Before running the project, make sure you have the following dependencies installed:

After installing the dependencies, next install the profiler.



Installing PARISCV

To install PARISCV, follow these steps:

Profiling

  • To profile any given application, just run:
    ./pariscv.sh

  • Default ISA, MABI, source names are used as shown in pariscv.sh. But one can further specify the ISA flags supported, mabi and path to the source file through the following flags:
    ./pariscv.sh ISA=rv64gcv_zba_zbb_zbc MABI=lp64d SOURCE=../../main.c


The output shows the total cycles, commonly used extensions, and commonly used instructions within each extension.




Future work

We intend to integrate the profiler with a core generator that supports coupling of custom acceleration using custom instruction or a custom accelerator.


Poster