Skip to content

AIESW-6823, AIESW-6824: Optimize cmd_chain latency and throughput tes…#43

Closed
sandilya-xilinx wants to merge 1 commit intoXilinx:mainfrom
sandilya-xilinx:cmd_chain
Closed

AIESW-6823, AIESW-6824: Optimize cmd_chain latency and throughput tes…#43
sandilya-xilinx wants to merge 1 commit intoXilinx:mainfrom
sandilya-xilinx:cmd_chain

Conversation

@sandilya-xilinx
Copy link
Contributor

…t configurations

[WHY]

  • Default configurations showed high variance and suboptimal performance
  • Throughput mode defaulted to depth=2, causing performance degradation
  • Needed stable, repeatable configurations for validation testing
  • Required sufficient iterations for framework warm-up and measurement stability

[HOW]

  • Conducted extensive empirical testing (27+ samples per configuration)
  • Set latency: 20 iterations × 1000 runs (depth=1 automatic in latency mode)
  • Set throughput: 20 iterations × 1000 runs × depth=1 (explicit override)
  • Validated depth=1 is mandatory for optimal throughput (depth>1 degrades 47-99%)
  • Confirmed 20 iterations minimum for stable measurements (10 iters = ±47% variance)
  • Verified 1000 runs optimal for peak performance

[RESULTS]

  • Latency: 14.2 µs average, range 13-16 µs, ±3 µs variance
  • Throughput: 71,716 ops/s average, range 66,764-75,508 ops/s, ±13% variance
  • Peak throughput: 76,738 ops/s (highest observed across all testing)
Run # Latency (µs) Throughput (ops/s)
1 16.0 73,432
2 13.0 67,221
3 15.0 75,508
4 13.0 66,764
5 14.0 75,442
Average 14.2 71,673
Best 13.0 75,508
Worst 16.0 66,764
Range 3 µs 8,744 ops/s
Variance ±21% (±3 µs) ±13%

Processing 1 folder(s)...
Updating xrt_smi_npu3.a from 30 files...
✓ Updated: npu3\xrt_smi_npu3.a
🔄 Files updated (4):
~ profile_cmd_chain_latency.json
~ profile_cmd_chain_throughput.json
~ recipe_cmd_chain_latency.json
~ recipe_cmd_chain_throughput.json

============================================================
SUMMARY:
Archives processed: 1/1
Total new files: 0
Total updated files: 4

Archive changes:
xrt_smi_npu3.a: 4 updated

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR optimizes the cmd_chain latency and throughput test configurations by updating test parameters based on extensive empirical testing. The changes aim to eliminate performance variance and establish stable, repeatable configurations for validation testing.

Changes:

  • Increased iterations from 1 to 20 for both latency and throughput tests to ensure measurement stability
  • Set depth=1 for throughput mode (explicit override from default depth=2) after validation showing depth>1 degrades performance by 47-99%
  • Removed explicit depth parameter from latency mode configuration as depth=1 is automatic in latency mode

Reviewed changes

Copilot reviewed 2 out of 5 changed files in this pull request and generated 2 comments.

File Description
profile_cmd_chain_throughput.json Updated iterations to 20, added explicit mode and depth=1 parameters for optimal throughput
profile_cmd_chain_latency.json Updated iterations to 20, removed redundant depth parameter (automatic in latency mode)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…t configurations

[WHY]
- Default configurations showed high variance and suboptimal performance
- Throughput mode defaulted to depth=2, causing performance degradation
- Needed stable, repeatable configurations for validation testing
- Required sufficient iterations for framework warm-up and measurement stability

[HOW]
- Conducted extensive empirical testing (27+ samples per configuration)
- Set latency: 20 iterations × 1000 runs (depth=1 automatic in latency mode)
- Set throughput: 20 iterations × 1000 runs × depth=1 (explicit override)
- Validated depth=1 is mandatory for optimal throughput (depth>1 degrades 47-99%)
- Confirmed 20 iterations minimum for stable measurements (10 iters = ±47% variance)
- Verified 1000 runs optimal for peak performance

[RESULTS]
- Latency: 14.2 µs average, range 13-16 µs, ±3 µs variance
- Throughput: 71,716 ops/s average, range 66,764-75,508 ops/s, ±13% variance
- Peak throughput: 76,738 ops/s (highest observed across all testing)
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

Successfully merging this pull request may close these issues.

2 participants