v0.4.0
Released on Feb 11, 2022
Description: In this release SmartSim continues to promote ease of use. To this end SmartSim has introduced new portability features that allow users to abstract away their targeted hardware, while providing even more compatibility with existing libraries.
A new feature, Co-located orchestrator deployments has been added which provides scalable online inference capabilities that overcome previous performance limitations in separated orchestrator/application deployments. For more information on advantages of co-located deployments, see the Orchestrator section of the SmartSim documentation.
The SmartSim build was significantly improved to increase customization of build toolchain and the smart
command line interface was expanded.
Additional tweaks and upgrades have also been made to ensure an optimal experience. Here is a comprehensive list of changes made in SmartSim 0.4.0.
Orchestrator Enhancements:
Emphasize Driver Script Portability:
- Add ability to create run settings through an experiment (PR110)
- Add ability to create batch settings through an experiment (PR112)
- Add automatic launcher detection to experiment portability functions (PR120)
Expand Machine Learning Library Support:
- Data loaders for online training in Keras/TF and Pytorch (PR115)(PR140)
- ML backend versions updated with expanded support for multiple versions (PR122)
- Launch Ray internally using
RunSettings
(PR118) - Add Ray cluster setup and deployment to SmartSim (PR50)
Expand Launcher Setting Options:
- Add ability to use base
RunSettings
on a Slurm, PBS, or Cobalt launchers (PR90) - Add ability to use base
RunSettings
on LFS launcher (PR108)
Deprecations and Breaking Changes
- Orchestrator classes combined into single implementation for portability (PR139)
smartsim.constants
changed tosmartsim.status
(PR122)smartsim.tf
migrated tosmartsim.ml.tf
(PR115)(PR140)- TOML configuration option removed in favor of environment variable approach (PR122)
General Improvements and Bug Fixes:
- Improve and extend parameter handling (PR107)(PR119)
- Abstract away non-user facing implementation details (PR122)
- Add various dimensions to the CI build matrix for SmartSim testing (PR130)
- Add missing functions to LSFSettings API (PR113)
- Add RedisAI checker for installed backends (PR137)
- Remove heavy and unnecessary dependencies (PR116)(PR132)
- Fix LSFLauncher and LSFOrchestrator(PR86)
- Fix over greedy Workload Manager Parsers (PR95)
- Fix Slurm handling of comma-separated env vars (PR104)
- Fix internal method calls (PR138)
Documentation Updates: