-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
Summary
Apply YAGNI principle to MyMPILib - NEO-2 is the ONLY downstream user, so all unused code should be deleted.
Immediate Deletion Candidates (No NEO-2 Dependencies)
Examples/ Directory - DELETE ENTIRELY
Examples/Allocate/main.f90Examples/Gather/main.f90
Unused Internal Modules
Internal/wuMergeChunk_module.f90- never used by NEO-2Internal/matrix_module.f90- demo/legacy matrix supportInternal/version.f90- unused version string
Unused Tools Modules
Tools/commandline_parser_module.f90- CLI parsing, unusedTools/configFile_parser_module.f90- config parsing, unusedTools/myLog_module.f90- logging utility, unusedTools/mpelog_module.f90- MPE profiling, unusedTools/packableList_module.f90- packable list, unused
Total: ~900 lines to delete
Keep (Actually Used by NEO-2)
Core Framework
Generic/scheduler_module.f90- base scheduler (inherited by neo2scheduler)Generic/workunit_module.f90- base workunitGeneric/genericWorkunit_module.f90Generic/initWorkunit_module.f90Internal/wuMergeWorkunit_module.f90Specific/mpiprovider_module.f90- MPI singletonSpecific/packBuffer_module.f90Internal/clientStatus_module.f90Internal/wuDataRequester_module.f90Internal/packable_module.f90
Used Tools
Tools/list_module.f90Tools/intList_module.f90Tools/wuList_module.f90
Internal Machinery (keep for now)
- Dispatcher/Listener headers and bodies (12 files) - embedded in scheduler, would require significant refactoring to remove
Future Refactoring Candidates
The dispatcher/listener framework (~1,600 LOC) is internal scheduler machinery. NEO-2 never directly uses these types but they're wired into the base scheduler. Consider:
- Simplifying scheduler if NEO-2 doesn't need full load-balancing
- Extracting as optional features
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels