* Refactor inject_pipeline.cc to improve version handling and add unique producer head tracking
- Updated version check to allow for cases with two or more versions.
- Adjusted logic to decrement num_versions when multi-versioning is not needed.
- Introduced a helper function to ensure unique producer heads are added to the commit group.
- Removed obsolete AddAllocBuffers method to streamline code.
* lint fix
* Refactor pipeline planning logic to enhance copy stage dependency management
- Removed obsolete conditional expression handling from the pipeline planning code.
- Introduced a new structure to manage copy stage dependency reads, improving clarity and efficiency.
- Updated logic to correctly identify producer stages for copy stages, ensuring accurate pipeline stage assignment.
- Added a new block sparse matrix multiplication function in the testing suite to validate the pipeline planning changes.
* Update ci.yml
* Fix structural equality checks in AddUnique and Contains methods to compare buffer references instead of entire regions in pipeline planning.
* Refactor pipeline planning logic to improve copy stage dependency propagation
- Updated structural equality checks in AddUnique and Contains methods to use buffer reference comparison.
- Enhanced the iteration logic for managing copy stage dependencies, ensuring accurate identification of producer stages.
- Added safeguards against exceeding maximum iterations during dependency propagation.