Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design of Profiler #770

Open
1 of 6 tasks
FanShupei opened this issue Sep 7, 2024 · 0 comments
Open
1 of 6 tasks

Design of Profiler #770

FanShupei opened this issue Sep 7, 2024 · 0 comments

Comments

@FanShupei
Copy link
Contributor

Tracking issue for OSPP 2024 Profiler for T1.

Prof Event Collecting

After discussion with Sequencer, the profiler will NOT use json-based events (unlike offline verifier). Since profiling events is much more than verification events, the json format is slow and bloated. The json-based event is currently exclusively for verification.

Instead, profiler will read from wavedump directly. Note T1 is written in Chisel. After Chisel -> SV lowering, the hierarchy and signal of generated VS is not guaranteed. . In this design, we could give guarantee to the naming of signals using Chisel tricks, and we could dump only profile-related signals to speed up simulation.

Perf Event

We plan to collect perf data from various components.

  • Issue/Retire Queue: analyze interaction with the scalar core
  • VLSU: analyze stall due to memory access
  • VRF: analyze stall due to VRF access conflict
  • VEXU and soreboards: analyze VEXU utilization rate and chaining statistics

Analyse Results

Per-cycle statistics: Essentially just "beautified" version of raw profiling signals. It will be generated in waveform format, intended to view with RTL wavedump simultaneously.

Overall statistics: use simplified version of top-down microarchitecture analysis.

Roadmap

  • Prof Event Collecting
    • perfdata module refactor (collaborate with RTL folks)
    • wavefile reader
  • Prof Result Output
    • FST wavefile writer
    • other format (e.g. VCD) writer
  • Dramsim Integration
    • dramsim integration in dpi driver
  • Topdown Analysis
    • implement top-down analysis
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant