google / google/xls

[enhancement] Add `worst_case_throughput` minimization results to benchmark reports

Open
#3,079 0 comments 0 reactions 0 assignees View on GitHub
enhancement scheduler
Dominant language
C++
Stars
1.9k
Forks
283
Avg merge
2d 10h
Merged PRs (30d)
135

Description

### What's hard to do? (limit 100 words)

[`worst_case_throughput` minimization](https://github.com/google/xls/blob/65aa30d29a36e34040707b7eaf4a8dbb5e06651d/xls/scheduling/run_pipeline_schedule.cc#L551) does not report the actual throughput it achieved in a visible way.
This makes it hard to evaluate performance, especially in `multi_proc` codegen.
Without this information, it is difficult to understand the real performance of the design.

### Current best alternative workaround (limit 100 words)

Generate each proc separately with strict constraints on `worst_case_throughput`.
This ensures the required throughput is met, but adds extra steps and complexity to the workflow.

Additionally, one can increase verbosity of the logs and read it on stdout:
https://github.com/google/xls/blob/65aa30d29a36e34040707b7eaf4a8dbb5e06651d/xls/scheduling/run_pipeline_schedule.cc#L567

### Your view of the "best case XLS enhancement" (limit 100 words)

Extend the `opt_ir_benchmark` report to include the achieved `worst_case_throughput` from the minimization pass.
Showing this value next to the pipeline scheduling data would make it much easier to assess whether performance goals were met.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.