Prof5: A RISC-V profiler tool

  • Jonathas Silveira UNICAMP
  • Lucas Castro UNICAMP / Idea Electronic Systems
  • Victor Araújo UNICAMP
  • Rodrigo Zeli Idea Electronic Systems
  • Daniel Lazari Idea Electronic Systems
  • Marcelo Guedes Idea Electronic Systems
  • Rodolfo Azevedo UNICAMP
  • Lucas Wanner UNICAMP

Resumo


RISC-V is supported by a series of design and simulation tools that enable simple instruction set customization and rapid exploration of application-specific accelerators. Evaluating the performance and energy impact of specific design choices and optimizations on applications remains, however, challenging. Traditional RT- or Gate-level simulation, while fairly precise, is complex and slow, and is, therefore, typically limited to small fractions of code. Functional simulation, while faster, is typically imprecise and lacks the detailed information presented by traditional profilers. We introduce Prof5, a profiler for RISC-V designs that combines functional simulation with precise energy and timing models calibrated from RTL simulation and power analysis. Prof5 is based on the Spike simulator and provides detailed, function-level timing and energy statistics that can be used to guide design and optimization choices, and enable rapid design-space exploration. Prof5 can furthermore aid the user in creating new timing and energy models for custom designs and architecture variations. Energy and timing estimation with Prof5 is 8000x faster than traditional synthesis-based analysis with an average of 95% accuracy for an embedded RISC-V processor.
Palavras-chave: Profiling, Performance Analysis, RISC-V, Power Estimation
Publicado
02/11/2022
SILVEIRA, Jonathas; CASTRO, Lucas; ARAÚJO, Victor; ZELI, Rodrigo; LAZARI, Daniel; GUEDES, Marcelo; AZEVEDO, Rodolfo; WANNER, Lucas. Prof5: A RISC-V profiler tool. In: INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 34. , 2022, Bordeaux/France. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2022 . p. 201-210.