-
Feature
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
False
-
-
False
-
Not Selected
Feature Overview
This work aims to refactor the existing training library to adopt a modular and composable architecture. This approach will streamline the integration of accelerator-specific flows or requirements (e.g. Intel Guaidi vs AMD accelerators, etc), enhancing the overall flexibility and maintainability of the system.
Goals
- The existing training library will be expanded to include modular and composable architecture, enabling easier integration of accelerator-specific flows or requirements.
Requirements
- The training library should be refactored to support a modular and composable architecture.
- The new architecture should allow for easy integration of accelerator-specific flows or requirements.
- The refactoring process should not introduce any breaking changes to the existing functionality.
Background
The current training library is monolithic, making it difficult to integrate accelerator-specific flows or requirements. This refactoring will improve the library's structure, making it more adaptable to future changes and enhancements.
Done
- [ ] The training library has been refactored to support a modular and composable architecture.
- [ ] The new architecture allows for easy integration of accelerator-specific flows or requirements.
- [ ] No breaking changes have been introduced to the existing functionality.
Questions to Answer
- How will we ensure that the refactoring process does not introduce any breaking changes?
- What is the plan for testing the refactored training library to ensure it works as expected?
Out of Scope
- The refactoring process itself is not out of scope. However, any additional changes to the training library's functionality that are not related to the modular and composable architecture are considered out of scope.
Customer Considerations
- The refactoring process should be done in a way that minimizes disruption to the existing workflow. This may involve phasing the refactoring over time or providing a way for users to switch between the old and new architectures during the transition period.