ck
ck copied to clipboard
Improving CM core
Aggregating tasks to improve CM core based on user feedback (this ticket is being gradually updated):
Functionality
- [x] Add support to check min CM version for automations and scripts
- [x] Move string checks to belong to [True, yes, on] to cmind.utils to avoid duplicates
- [x] Add
cm checkout repo
to checkout pulled repos - [x] Add support to debug CM core and scripts (
cmind.utils.debug_here
) (tested with Visual Studio) - [x] Develop alias to pull mlcommons@cm4mlops instead of mlcommons@ck (when -b is not used)
- [ ] Add portable md5sum to cmind.utils from here - it is often used in various CM scripts
- [ ] Add portable tar and zip extractor to cmind.utils based on ABTF prototyping - used in many projects
- [x] Add logging to CM core
- [ ] Agree on CM logging names/streams
- [ ] Convert CM prints to logging
- [ ] Convert CM script prints to logging
- [x] Print internal status (version, paths to repos, python used, etc):
cm test core
- [ ] URGENT: setup.py will be deprecated soon and we need to provide a new way to install CM - help is appreciated!
Tests
- [ ] Unify GitHub test names
- [ ] Add more unit tests to cover most/all CM internals across different platforms
- [ ] Agree how to keep control of code quality of CM scripts and improve quality of existing CM scripts (from prototype to production)
Docs
- [ ] Agree on how to show optional flags. Should be similar to Python parser:
cm run script ... [--help] [--path PATH] ...
- [x] Generate CM API docs per version with sphynx and upload to website
- [ ] Improve basic CM framework docs/tutorials based on cmake/bazel/workflow concept
- [ ] CLI
- [ ] API
- [ ] add new recipe
- [ ] share new recipe
- [ ] work with CM scripts
- [ ] add new script
- [ ] reuse new script
- [ ] CM cache
- [ ] workflow (env/state)
- [ ] deps with conditions
- [ ] customize
- [ ] Provide guide for user contributions and to report issues
Tutorials
- [ ] Basic CM concepts
- [ ] CM automations (use, extend, add)
- [ ] CM scripts
Brainstorm
- [ ] Add possibility to have strict validation of inputs and types for production environments
- [ ] Move CM index to sqlite to speed up search by tags and enable parallel execution - need to brainstorm
- [ ] Check how to parallelize cmind.access runs (if needed)
- [ ] Simplify get git, download file, extract file with custom CM cache entry ...
- [ ] Simplify docker generation via separate docker automation
- [ ] Test CM scripts with different versions of dependencies
- [ ] Enable crowd-testing and reporting similar to cTuning