Skip to content

Conversation

@tafk7
Copy link
Collaborator

@tafk7 tafk7 commented Sep 15, 2025

Add core integration test suite and documentation improvements

Summary

  • Adds integration tests for core DSE functionality with fixture-based architecture
  • Enhances documentation with summary/guidance readme and additional docs
  • Simplifies BERT demo with blueprint-based configuration
  • Fixes critical bugs in parser API and plugin registry

Core Changes

Bug Fixes & API Improvements

  • Refactored BlueprintParser class to standalone parse_blueprint() function
  • Fixed plugin registry lazy loading issues in find() and all() methods
  • Corrected DSE tree node counting and depth calculation to include root node
  • Enhanced registry reset to properly clear initialization state

Testing Infrastructure

  • Integration tests for blueprint parsing with inheritance and step operations
  • DSE execution tests validating tree construction and artifact sharing
  • Plugin system tests covering registration, discovery, and framework integration
  • Mock plugin ecosystem with test kernels, transforms, and build steps

Documentation

  • Dataflow modeling guide explaining kernel abstractions and tiling strategies
  • Plugin registry documentation with examples and best practices
  • BERT example README with quickstart instructions
  • Improved design space exploration docs with clearer examples

BERT Example Improvements

  • Replaced CLI arguments with blueprint-driven configuration
  • Added bert_quicktest.yaml for rapid testing (single layer, minimal folding)
  • Quicktest blueprint extends base with test-specific overrides

  - Add pytest configuration and test fixtures
  - Add tests for blueprint parser, DSE execution, and plugin system
  - Add fixture plugins for testing kernels, steps, and transforms
  - Add test utilities and helper functions
  - Bug fix tree depth calculation to include root
  - Add docs for dataflow modeling, hardware kernels, plugin registry
  - Rename execution_tree_dse.md to design_space_exploration.md
  - Delete plugin_library.md (replaced by plugin_registry.md)
  - Add BERT example README and quicktest yaml
  - Add plugin error handling tests
  - Update parser with help text and schema generation
  - Simplify Brainsmith Library section to reference plugin registry
  - Add concrete transform example with SetPumpedCompute
  - Add base_finn_config fixture for testing
  - Add inheritance blueprint helpers for parent/grandparent testing
  - Add ExpectedExecutionLevel dataclass for tree validation
… diagram

  - Add comprehensive examples for all 5 kernel components
  - Include kernel creation workflow diagram
  - Add pre-release notes about ongoing standardization
  - Link to documentation from main README
@tafk7 tafk7 marked this pull request as ready for review September 17, 2025 21:59
@tafk7 tafk7 requested a review from a team as a code owner September 17, 2025 21:59
@tafk7
Copy link
Collaborator Author

tafk7 commented Sep 17, 2025

Troubleshooting some issues with the BERT example after my changes, but documentation and basic integration test suite are ready for review. Both are far from comprehensive, but a good start to empower our collaborators.

…rser inheritance

  - Fix recursive inheritance handling in blueprint parser for multi-level extends
  - Update bert_quicktest.yaml to extend bert_demo.yaml instead of bert.yaml
  - Enable split_large_fifos in bert_demo.yaml FINN config
  - Disable pre-calc folding for quicktest to circumvent bug
  - Remove quicktest_folding.json testing artifact
Copy link
Contributor

@jsmonson jsmonson left a comment

Choose a reason for hiding this comment

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

Looks great! PLease see my comments.

@tafk7 tafk7 merged commit 729d969 into develop Sep 22, 2025
2 checks passed
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