Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improving CM core #1229

Open
8 of 41 tasks
gfursin opened this issue Apr 24, 2024 · 0 comments
Open
8 of 41 tasks

Improving CM core #1229

gfursin opened this issue Apr 24, 2024 · 0 comments
Assignees

Comments

@gfursin
Copy link
Contributor

gfursin commented Apr 24, 2024

Aggregating tasks to improve CM core based on user feedback (this ticket is being gradually updated):

Functionality

  • Add support to check min CM version for automations and scripts
  • Move string checks to belong to [True, yes, on] to cmind.utils to avoid duplicates
  • Add cm checkout repo to checkout pulled repos
  • Add support to debug CM core and scripts (cmind.utils.debug_here) (tested with Visual Studio)
  • 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
  • Add logging to CM core
    • Agree on CM logging names/streams
    • Convert CM prints to logging
    • Convert CM script prints to logging
  • 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] ...
  • 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant