Skip to content

Conversation

@oyazdanb
Copy link
Collaborator

  • Generate synthetic PyTorch profiler traces (2 threads × 2 channels × 8 ranks)
  • Test all scripts in scripts/gemm_analysis/ end-to-end
  • Compare outputs against baseline to detect regressions
  • Validate numeric metrics, required columns, and data flow
  • Includes modular tests for individual pipeline components

Files added:

  • tests/gemm_analysis/test_gemm_regression.py: Main pytest test suite with PipelineRunner
  • tests/gemm_analysis/generate_synthetic_data.py: Synthetic trace generator
  • tests/gemm_analysis/compare_outputs.py: Output comparison utilities
  • tests/gemm_analysis/README.md: Test documentation and usage guide
  • scripts/gemm_analysis/tracelense_with_gemm_path.py: TraceLens utility for tests

Updated:

  • scripts/gemm_analysis/run_tracelens_analysis.sh: Enhanced for test compatibility
  • tests/conftest.py: Added shared test fixtures
  • .gitignore: Ignore test data and output directories

- Generate synthetic PyTorch profiler traces (2 threads × 2 channels × 8 ranks)
- Test all scripts in scripts/gemm_analysis/ end-to-end
- Compare outputs against baseline to detect regressions
- Validate numeric metrics, required columns, and data flow
- Includes modular tests for individual pipeline components

Files added:
- tests/gemm_analysis/test_gemm_regression.py: Main pytest test suite with PipelineRunner
- tests/gemm_analysis/generate_synthetic_data.py: Synthetic trace generator
- tests/gemm_analysis/compare_outputs.py: Output comparison utilities
- tests/gemm_analysis/README.md: Test documentation and usage guide
- scripts/gemm_analysis/tracelense_with_gemm_path.py: TraceLens utility for tests

Updated:
- scripts/gemm_analysis/run_tracelens_analysis.sh: Enhanced for test compatibility
- tests/conftest.py: Added shared test fixtures
- .gitignore: Ignore test data and output directories
Copy link
Contributor

@amd-vivekag amd-vivekag left a comment

Choose a reason for hiding this comment

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

@oyazdanb Can you please share the thoughts behind this PR? What is it trying to solve? E.g. I didn't quite understand the reason behind creating a wrapper on top of Tracelens.

@oyazdanb
Copy link
Collaborator Author

@oyazdanb Can you please share the thoughts behind this PR? What is it trying to solve? E.g. I didn't quite understand the reason behind creating a wrapper on top of Tracelens.

the reason behind this PR is to add a test which generates synthetic data and check the scripts we have. The final goal is to make sure the outputs are correct when we add a new script for reporting or when we modify one.

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.

3 participants