Skip to content

trace: fseq_fpu_yield identical to fseq_yield #110

@colluca

Description

@colluca

Bug description

fseq_fpu_yield is currently calculated as (fpss_fpu_issues / snitch_fseq_offloads) / fpss_fpu_rel_issues:

'fseq_fpu_yield':
safe_div(
safe_div(seg['fpss_fpu_issues'], seg['snitch_fseq_offloads']),
fpss_fpu_rel_issues),

fpss_fpu_rel_issues is in turn calculated as fpss_fpu_issues / fpss_issues:

fpss_fpu_rel_issues = safe_div(seg['fpss_fpu_issues'],
seg['fpss_issues'])

It follows that fseq_fpu_yield = fpss_issues / snitch_fseq_offloads, which equals fseq_yield by definition:

'fseq_yield':
safe_div(seg['fpss_issues'], seg['snitch_fseq_offloads']),

Solution

I believe the original intent was for fseq_fpu_yield to represent the FREP yield related to FPU proper instructions only. Then we could simply calculate fseq_fpu_yield = fpss_fpu_issues / snitch_fseq_offloads. Perhaps even better, we would rectify snitch_fseq_offloads to count only instructions destined to the FPU proper.

I'm not sure of the usefulness of this metric altogether, so perhaps we could also just remove the duplicate fseq_fpu_yield.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions