You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Performance] --enable-insert-sync on a dynamic GEMM example generates 10% slower kernel than manual sync version #226
The auto-sync version is only ~100 lines of Python, and reaching 90% of manual-sync is quite decent. I just wonder if the last 10% perf gap can be filled.
Auto-sync should be ideally as fast as manual sync version. (or discover even faster pipelining?)
Actual performance
Auto-sync is 5~15% slower than manual-sync, see the detailed PRs below (contains full code with kernel launch, and on-device performance measurement on 910B2:):
Here is a visualization of the timeline between using automatic sync (top), and manually syncing (bottom). Timelines are generated with msprof op simulator
Here is a visualization of the timeline between using automatic sync (top), and manually syncing (bottom). T
From this profile trace, the "L0 loops" are already quite optimal, but the manual sync has smaller bubbles across the "L1 loops", most likely due to manual prefetching.
Activity
fiskrt commentedon Mar 11, 2026
Here is a visualization of the timeline between using automatic sync (top), and manually syncing (bottom). Timelines are generated with
msprof op simulatorlearning-chip commentedon Mar 11, 2026
From this profile trace, the "L0 loops" are already quite optimal, but the manual sync has smaller bubbles across the "L1 loops", most likely due to manual prefetching.