Skip to content

SimX NT=8 result mismatch between v2.3/master and bug_fix_mig_320 #351

@jimmy23246

Description

@jimmy23246

I tested 4 different kernels on both master v2.3 (@d425a56) and bug_fix_mig_320 (@f67c70396), and results are different.

Under using the same apptainer and settings (NT=8 / NUM_TCU_LANES=8 / LMEM_LOG_SIZE=15 / TCU enabled (XLEN=32)), # of cycles, # of instructions and IPC differs by as such:

Image

Master v2.3 has 10–31% lower cycles, IPC around 1.8 (vs ~0.22), instruction counts ~7× higher.

I traced the commits between master 2.3 and bug_fix_mig_320 (454 commits) and found that @ad46039cc, there’s a commit message “fix NT=8 i8 issue”; and @f1702ea4f “optimize the worker's architecture, a five stage pipeline”. My understanding is that master had a bug in how NT=8 instruction issue is counted (hence the 7x higher instruction and biggerIPC), and bug_fix_mig_320 both corrects that counter as well as there was a rework on the worker pipeline into 5 stages that all together accounts for the difference.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions