- added "test dummy" script to test Docker containers
- added more standard Nvidia Docker configuration for PyTorch
- added better support to select Docker configurations via UID
- fixed "cm add script"
- Added
cm set cfg
automation. For example, we can set default CM script to silent usingcm set cfg default --key.script.silent
- Added key
script_entry_repo_to_report_errors
to CM script meta to customize where to report errors instead of the default repo. For example, issues with the CM scriptrun-mlperf-inference-app
should be reported at https://github.com/mlcommons/inference . - Added saving running script from different deps without CM to tmp-run-without-cm.bat.
Example:
cmr "app image corner-detection" --debug-script-tags=benchmark,program
- Generate Docker container sample during --repro (prototype)
- Added cm run script --print_versions to print resolved versions of dependencies at the end of the run
- Improved cm run script --repro function to dump dependencies, versions and generate README
- CM script automation: fixed dumping versions (variations didn't have _ prefix)
Since March 2023, all updates to CM automations are submitted via PRs. You can follow our PRs at
- https://github.com/ctuning/mlcommons-ck/commits/master
- https://github.com/mlcommons/ck/pulls?q=is%3Apr+is%3Aclosed .
- experiment and graph gui are working now
- started prototyping cm run experiment
- added simple GUI to CM scripts
- added "script_name" to the CM "script" meta to specify any native script name
- added "--script_name" to "cm add script {alias} --script_name=my-native-script.sh"
- added CM_SCRIPT_EXTRA_CMD to force some flags to all scripts
- major updates for Windows (CL, CUDA, etc)
- various fixes for Student Cluster Competition at SuperComputing'22
- added support to push MLPerf results to W&B dashboard
- added "cm json2yaml utils" and "cm yaml2json utils"
- added --verbose and --time to "cm run script"
- removed the need for echo-off script
-
added cm run script --debug-script-tags to run cmd/bash before native script
-
added cm run script --shell to set env and run shell after script execution
-
20221007:
-
added script template (used when adding new scripts)
-
major clean up of all scripts
- treat alias as tags if spaces: cm run script "get compiler" is converted to cm run script --tags=get,compiler
- improved gcc detection
- refactored "cm run script" to skip deps in cache if needed
- added --print_env flag to "cm run script" to print aggregated env before running native scripts
- various fixes to support MLPerf automation
- various fixes for universal MLPerf inference submission automation
- various fixes for TVM and image classification
- added "run_script_after_post_deps" to script meta to run script after post deps (useful to activate python virtual env)
- added "activate-python-venv" script to make it easier to debug Python deps installation
- added --accept-license and --skip-system-deps (converted to env CM_ACCEPT_LICENSE ("True") and CM_SKIP_SYSTEM_DEPS ("True"))
- moved relatively stable MLOps automation scripts here
- fixed local_env_keys in get-python3
- added new_env_only_keys to meta to specify which env to keep
- fixed problem with adding tags from the selected script during caching
- added --skip-compile and --skip-run to script (converted to env CM_SKIP_COMPILE and CM_SKIP_RUN)
- fixed local_env_keys in get-python3
- added new_env_only_keys to get-python3
- added local_env_keys to meta
- added "env" dict to os_info
- major script refactoring to support cache tags update from deps
- fixed version min/max propagations in deps
- improvements to support tags from deps
- added tags from deps (python, llvm)
- various fixes to handle versions (min/max/default)
- various fixes to avoid contamination of ENV from other scripts
- various fixes to handle versions (min/max/default)
- fixes for remembered selections
- added --skip-remembered-selections to "cm run script"
- fixed a bug with searching for scripts with variations
- added the possibility to update deps from pre/post processing
- added --extra-cache-tags and --name for "cm run script"
- added prototype of selection caching
- fixed get-python-venv
- added dummy "cm test script"
- added "--env" to "cm show cache" to show env and state
- added "cm show cache"
- added "detect_version_using_script" in script used to detect python packages
- major fix to properly support multiple scripts with the same tags, caching, selection, etc
- fixed a bug in version comparison (converting string to int)
- added recording of "version" to cache meta
- fixed local_env with deps
- important update of versions logic
- added support for --quiet
- changed CM_NEED_VERSION to CM_VERSION
- added CM_VERSION_MIN, CM_VERSION_MAX
- added cm compare_versions utils --version1=... --version2=...
- added support to detect min/max/correct versions
- fixed logic to handle variations (-_): mlcommons/ck#243
- changed "cached" to "cache" automation
- major update of script (remove parallel env/new_env and state/new_state). keep global env & state and detect changes automatically
- major simplification of "script"
- removed "installed" to be more understandable
- added "cached" to be more understandable
- added "versions" key to the CM script meta it works similar to "variations" and is forced by --version
- changed "ic" to "script" in "experiment" automation
- updated "variations" logic in "script"! meta['default_variation'] (str): only one of many meta['default_variations'] (list): multiple choices
- deprecated "ic" automation. Use "script" instead!
- added strip_folders to utils/unzip_file
- fixed minor bugs in CM script
- added "name" key to deps (list of names and UIDs)
- added "add_deps_tags" in variations and in CMD ({"name":"tag(s)"})
- added "deps" to variations to be merged with the list of current deps
- added --input and --output for cm run script converted to env CM_INPUT and CM_OUTPUT useful to create interactive CM scripts to process files
- Added prototype-test-deps-variations-tags to play with deps, variations, tags
- clean tmp files in "script" automation by default and keep them using --dirty flag
- added "skip" and "deps" to postprocess to call other scripts. For example call install LLVM if detect LLVM fails...
- added "script" automation to substitute less intuitive "ic"
- Improved LLVM detection and installation
- Added example of image corner detection
- Added updated script entries
- added version, path, skip_install and post_deps to IC
- added --new to IC to detect new components
- Updating mechanisms to install and/or detect LLVM
- added support to install prebuilt LLVM for Linux, MacOs, Windows
- updated ic automation to read tmp-run-state.json and merge it with the "new_state" dict
- changed directory ck2-repo-mlops to cm-devops
- Changed CM_PATH_LIST to +PATH
- Added general support for +ENV that is expanded to ENV=val1;val2;...:${ENV}
- Better handle exceptions in utils.download_file
- Added support for variations in intelligent components (ic)
- Fixed bugs in IC
- Added "_" prefix in tags to specify variation of IC
- Record env.sh in "installed artifacts even if bat file is not executed
- Fixed experiment directory naming on Windows
- Added "cm version ic" (#233)
- Added prototype of ic::prototype-get-ml-model-resnet50-onnx with variations
- Added prototype of ic::prototype-get-imagenet-val with variations
- Added prototype of ic::prototype-get-imagenet-aux with variations
- Added prototype of ic::prototype-get-llvm
- Added prototype of ic::prototype-get-tvm