Smartsim

Latest version: v0.8.0

Safety actively analyzes 681935 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

0.5.0

Released on 6 July 2023

Description

A full list of changes and detailed notes can be found below:

- Update SmartRedis dependency to v0.4.1
- Fix tests for db models and scripts
- Fix add_ml_model() and add_script() documentation, tests, and code
- Remove ``requirements.txt`` and other places where
dependencies were defined
- Replace ``limit_app_cpus`` with
``limit_db_cpus`` for co-located orchestrators
- Remove wait time associated with Experiment launch summary
- Update and rename Redis conf file
- Migrate from redis-py-cluster to redis-py
- Update full test suite to not require a TF wheel at test time
- Update doc strings
- Remove deprecated code
- Relax the coloredlogs version
- Update Fortran tutorials for SmartRedis
- Add support for multiple network interface binding in Orchestrator
and Colocated DBs
- Add typehints and static analysis

Detailed notes

- Updates SmartRedis to the most current release ([PR316](https://github.com/CrayLabs/SmartSim/pull/316))
- Fixes and enhancements to documentation ([PR317](https://github.com/CrayLabs/SmartSim/pull/317), [PR314](https://github.com/CrayLabs/SmartSim/pull/314), [PR287](https://github.com/CrayLabs/SmartSim/pull/287))
- Various fixes and enhancements to the test suite
([PR315](https://github.com/CrayLabs/SmartSim/pull/314), [PR312](https://github.com/CrayLabs/SmartSim/pull/312), [PR310](https://github.com/CrayLabs/SmartSim/pull/310), [PR302](https://github.com/CrayLabs/SmartSim/pull/302), [PR283](https://github.com/CrayLabs/SmartSim/pull/283))
- Fix a defect in the tests related to database models and scripts
that was causing key collisions when testing on workload managers ([PR313](https://github.com/CrayLabs/SmartSim/pull/313))
- Remove ``requirements.txt`` and other places where
dependencies were defined. ([PR307](https://github.com/CrayLabs/SmartSim/pull/307))
- Fix defect where dictionaries used to create run settings can be
changed unexpectedly due to copy-by-ref ([PR305](https://github.com/CrayLabs/SmartSim/pull/305))
- The underlying code for Model.add_ml_model() and Model.add_script()
was fixed to correctly handle multi-GPU configurations. Tests were
updated to run on non-local launchers. Documentation was updated and
fixed. Also, the default testing interface has been changed to lo
instead of ipogif. ([PR304](https://github.com/CrayLabs/SmartSim/pull/304))
- Typehints have been added. A makefile target ``make check-mypy``
executes static analysis with mypy. ([PR295](https://github.com/CrayLabs/SmartSim/pull/295), [PR301].
(https://github.com/CrayLabs/SmartSim/pull/301), [PR303](https://github.com/CrayLabs/SmartSim/pull/303))
- Replace ``limit_app_cpus`` with
``limit_db_cpus`` for co-located orchestrators. This
resolves some incorrect behavior/assumptions about how the
application would be pinned. Instead, users should directly specify
the binding options in their application using the options
appropriate for their launcher ([PR306](https://github.com/CrayLabs/SmartSim/pull/306))
- Simplify code in [random_permutations]{.title-ref} parameter
generation strategy ([PR300](https://github.com/CrayLabs/SmartSim/pull/300))
- Remove wait time associated with Experiment launch summary ([PR298](https://github.com/CrayLabs/SmartSim/pull/298))
- Update Redis conf file to conform with Redis v7.0.5 conf file ([PR293](https://github.com/CrayLabs/SmartSim/pull/293))
- Migrate from redis-py-cluster to redis-py for cluster status checks ([PR292](https://github.com/CrayLabs/SmartSim/pull/292))
- Update full test suite to no longer require a tensorflow wheel to be available at test time. ([PR291](https://github.com/CrayLabs/SmartSim/pull/291))
- Correct spelling of colocated in doc strings ([PR290](https://github.com/CrayLabs/SmartSim/pull/290))
- Deprecated launcher-specific orchestrators, constants, and ML
utilities were removed. ([PR289](https://github.com/CrayLabs/SmartSim/pull/289))
- Relax the coloredlogs version to be greater than 10.0 ([PR288](https://github.com/CrayLabs/SmartSim/pull/288))
- Update the Github Actions runner image from
``macos-10.15`` to ``macos-12``. The former
began deprecation in May 2022 and was finally removed in May 2023. ([PR285](https://github.com/CrayLabs/SmartSim/pull/285))
- The Fortran tutorials had not been fully updated to show how to
handle return/error codes. These have now all been updated. ([PR284](https://github.com/CrayLabs/SmartSim/pull/284))
- Orchestrator and Colocated DB now accept a list of interfaces to
bind to. The argument name is still ``interface`` for
backward compatibility reasons. ([PR281](https://github.com/CrayLabs/SmartSim/pull/281))
- Typehints have been added to public APIs. A makefile target to
execute static analysis with mypy is available ``make
check-mypy`` ([PR295](https://github.com/CrayLabs/SmartSim/pull/295))

0.4.2

Released on April 12, 2023

Description

This release of SmartSim had a focus on polishing and extending exiting
features already provided by SmartSim. Most notably, this release
provides support to allow users to colocate their models with an
orchestrator using Unix domain sockets and support for launching models
as batch jobs.

Additionally, SmartSim has updated its tool chains to provide a better
user experience. Notably, SmarSim can now be used with Python 3.10,
Redis 7.0.5, and RedisAI 1.2.7. Furthermore, SmartSim now utilizes
SmartRedis\'s aggregation lists to streamline the use and extension of
ML data loaders, making working with popular machine learning frameworks
in SmartSim a breeze.

A full list of changes and detailed notes can be found below:

- Add support for colocating an orchestrator over UDS
- Add support for Python 3.10, deprecate support for Python 3.7 and
RedisAI 1.2.3
- Drop support for Ray
- Update ML data loaders to make use of SmartRedis\'s aggregation
lists
- Allow for models to be launched independently as batch jobs
- Update to current version of Redis to 7.0.5
- Add support for RedisAI 1.2.7, pyTorch 1.11.0, Tensorflow 2.8.0,
ONNXRuntime 1.11.1
- Fix bug in colocated database entrypoint when loading PyTorch models
- Fix test suite behavior with environment variables

Detailed Notes

- Running some tests could result in some SmartSim-specific
environment variables to be set. Such environment variables are now
reset after each test execution. Also, a warning for environment
variable usage in Slurm was added, to make the user aware in case an
environment variable will not be assigned the desired value with
[\--export]{.title-ref}.
([PR270](https://github.com/CrayLabs/SmartSim/pull/270))
- The PyTorch and TensorFlow data loaders were update to make use of
aggregation lists. This breaks their API, but makes them easier to
use. ([PR264](https://github.com/CrayLabs/SmartSim/pull/264))
- The support for Ray was dropped, as its most recent versions caused
problems when deployed through SmartSim. We plan to release a
separate add-on library to accomplish the same results. If you are
interested in getting the Ray launch functionality back in your
workflow, please get in touch with us!
([PR263](https://github.com/CrayLabs/SmartSim/pull/263))
- Update from Redis version 6.0.8 to 7.0.5.
([PR258](https://github.com/CrayLabs/SmartSim/pull/258))
- Adds support for Python 3.10 without the ONNX machine learning
backend. Deprecates support for Python 3.7 as it will stop receiving
security updates. Deprecates support for RedisAI 1.2.3. Update the
build process to be able to correctly fetch supported dependencies.
If a user attempts to build an unsupported dependency, an error
message is shown highlighting the discrepancy.
([PR256](https://github.com/CrayLabs/SmartSim/pull/256))
- Models were given a [batch_settings]{.title-ref} attribute. When
launching a model through [Experiment.start]{.title-ref} the
[Experiment]{.title-ref} will first check for a non-nullish value at
that attribute. If the check is satisfied, the
[Experiment]{.title-ref} will attempt to wrap the underlying run
command in a batch job using the object referenced at
[Model.batch_settings]{.title-ref} as the batch settings for the
job. If the check is not satisfied, the [Model]{.title-ref} is
launched in the traditional manner as a job step.
([PR245](https://github.com/CrayLabs/SmartSim/pull/245))
- Fix bug in colocated database entrypoint stemming from uninitialized
variables. This bug affects PyTorch models being loaded into the
database. ([PR237](https://github.com/CrayLabs/SmartSim/pull/237))
- The release of RedisAI 1.2.7 allows us to update support for recent
versions of PyTorch, Tensorflow, and ONNX
([PR234](https://github.com/CrayLabs/SmartSim/pull/234))
- Make installation of correct Torch backend more reliable according
to instruction from PyTorch
- In addition to TCP, add UDS support for colocating an orchestrator
with models. Methods [Model.colocate_db_tcp]{.title-ref} and
[Model.colocate_db_uds]{.title-ref} were added to expose this
functionality. The [Model.colocate_db]{.title-ref} method remains
and uses TCP for backward compatibility
([PR246](https://github.com/CrayLabs/SmartSim/pull/246))

0.4.1

Released on June 24, 2022

Description: This release of SmartSim introduces a new experimental feature to help make SmartSim workflows more portable: the ability to run simulations models in a container via Singularity. This feature has been tested on a small number of platforms and we encourage users to provide feedback on its use.

We have also made improvements in a variety of areas: new utilities to load scripts and machine learning models into the database directly from SmartSim driver scripts and install-time choice to use either `KeyDB` or `Redis` for the Orchestrator. The `RunSettings` API is now more consistent across subclasses. Another key focus of this release was to aid new SmartSim users by including more extensive tutorials and improving the documentation. The docker image containing the SmartSim tutorials now also includes a tutorial on online training.


Launcher improvements

> - New methods for specifying `RunSettings` parameters ([SmartSim-PR166](https://github.com/CrayLabs/SmartSim/pull/166)) ([SmartSim-PR170](https://github.com/CrayLabs/SmartSim/pull/170))
> - Better support for `mpirun`, `mpiexec`, and `orterun` as launchers ([SmartSim-PR186](https://github.com/CrayLabs/SmartSim/pull/186))
> - Experimental: add support for running models via Singularity ([SmartSim-PR204](https://github.com/CrayLabs/SmartSim/pull/204))


Documentation and tutorials

> - Tutorial updates ([SmartSim-PR155](https://github.com/CrayLabs/SmartSim/pull/155)) ([SmartSim-PR203](https://github.com/CrayLabs/SmartSim/pull/203)) ([SmartSim-PR208](https://github.com/CrayLabs/SmartSim/pull/208))
> - Add SmartSim Zoo info to documentation ([SmartSim-PR175](https://github.com/CrayLabs/SmartSim/pull/175))
> - New tutorial for demonstrating online training ([SmartSim-PR176](https://github.com/CrayLabs/SmartSim/pull/176)) ([SmartSim-PR188](https://github.com/CrayLabs/SmartSim/pull/188))


General improvements and bug fixes

> - Set models and scripts at the driver level ([SmartSim-PR185](https://github.com/CrayLabs/SmartSim/pull/185))
> - Optionally use KeyDB for the orchestrator ([SmartSim-PR180](https://github.com/CrayLabs/SmartSim/pull/180))
> - Ability to specify system-level libraries ([SmartSim-PR154](https://github.com/CrayLabs/SmartSim/pull/154)) ([SmartSim-PR182](https://github.com/CrayLabs/SmartSim/pull/182))
> - Fix the handling of LSF `gpus_per_shard` ([SmartSim-PR164](https://github.com/CrayLabs/SmartSim/pull/164))
> - Fix error when re-running `smart build` ([SmartSim-PR165](https://github.com/CrayLabs/SmartSim/pull/165))
> - Fix generator hanging when tagged configuration variables are missing ([SmartSim-PR177](https://github.com/CrayLabs/SmartSim/pull/177))


Dependency updates

> - CMake version from 3.10 to 3.13 ([SmartSim-PR152](https://github.com/CrayLabs/SmartSim/pull/152))
> - Update click to 8.0.2 ([SmartSim-PR200](https://github.com/CrayLabs/SmartSim/pull/200))

0.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:

- Add Orchestrator Co-location ([PR139](https://github.com/CrayLabs/SmartSim/pull/139))
- Add Orchestrator configuration file edit methods ([PR109](https://github.com/CrayLabs/SmartSim/pull/109))

Emphasize Driver Script Portability:

- Add ability to create run settings through an experiment ([PR110](https://github.com/CrayLabs/SmartSim/pull/110))
- Add ability to create batch settings through an experiment ([PR112](https://github.com/CrayLabs/SmartSim/pull/112))
- Add automatic launcher detection to experiment portability functions ([PR120](https://github.com/CrayLabs/SmartSim/pull/120))

Expand Machine Learning Library Support:

- Data loaders for online training in Keras/TF and Pytorch ([PR115](https://github.com/CrayLabs/SmartSim/pull/115))([PR140](https://github.com/CrayLabs/SmartSim/pull/140))
- ML backend versions updated with expanded support for multiple versions ([PR122](https://github.com/CrayLabs/SmartSim/pull/122))
- Launch Ray internally using `RunSettings` ([PR118](https://github.com/CrayLabs/SmartSim/pull/118))
- Add Ray cluster setup and deployment to SmartSim ([PR50](https://github.com/CrayLabs/SmartSim/pull/50))

Expand Launcher Setting Options:

- Add ability to use base `RunSettings` on a Slurm, PBS, or Cobalt launchers ([PR90](https://github.com/CrayLabs/SmartSim/pull/90))
- Add ability to use base `RunSettings` on LFS launcher ([PR108](https://github.com/CrayLabs/SmartSim/pull/108))

Deprecations and Breaking Changes

- Orchestrator classes combined into single implementation for portability ([PR139](https://github.com/CrayLabs/SmartSim/pull/139))
- `smartsim.constants` changed to `smartsim.status` ([PR122](https://github.com/CrayLabs/SmartSim/pull/122))
- `smartsim.tf` migrated to `smartsim.ml.tf` ([PR115](https://github.com/CrayLabs/SmartSim/pull/115))([PR140](https://github.com/CrayLabs/SmartSim/pull/140))
- TOML configuration option removed in favor of environment variable approach ([PR122](https://github.com/CrayLabs/SmartSim/pull/122))

General Improvements and Bug Fixes:

- Improve and extend parameter handling ([PR107](https://github.com/CrayLabs/SmartSim/pull/107))([PR119](https://github.com/CrayLabs/SmartSim/pull/119))
- Abstract away non-user facing implementation details ([PR122](https://github.com/CrayLabs/SmartSim/pull/122))
- Add various dimensions to the CI build matrix for SmartSim testing ([PR130](https://github.com/CrayLabs/SmartSim/pull/130))
- Add missing functions to LSFSettings API ([PR113](https://github.com/CrayLabs/SmartSim/pull/113))
- Add RedisAI checker for installed backends ([PR137](https://github.com/CrayLabs/SmartSim/pull/137))
- Remove heavy and unnecessary dependencies ([PR116](https://github.com/CrayLabs/SmartSim/pull/116))([PR132](https://github.com/CrayLabs/SmartSim/pull/132))
- Fix LSFLauncher and LSFOrchestrator([PR86](https://github.com/CrayLabs/SmartSim/pull/86))
- Fix over greedy Workload Manager Parsers ([PR95](https://github.com/CrayLabs/SmartSim/pull/95))
- Fix Slurm handling of comma-separated env vars ([PR104](https://github.com/CrayLabs/SmartSim/pull/104))
- Fix internal method calls ([PR138](https://github.com/CrayLabs/SmartSim/pull/138))

Documentation Updates:

- Updates to documentation build process ([PR133](https://github.com/CrayLabs/SmartSim/pull/133))([PR143](https://github.com/CrayLabs/SmartSim/pull/143))
- Updates to documentation content([PR96](https://github.com/CrayLabs/SmartSim/pull/96))([PR129](https://github.com/CrayLabs/SmartSim/pull/129))([PR136](https://github.com/CrayLabs/SmartSim/pull/136))([PR141](https://github.com/CrayLabs/SmartSim/pull/141))
- Update SmartSim Examples([PR68](https://github.com/CrayLabs/SmartSim/pull/68))([PR100](https://github.com/CrayLabs/SmartSim/pull/100))

0.3.2

Released on August 11, 2021

Description:

- Upgraded RedisAI backend to 1.2.3 ([PR69])
- PyTorch 1.7.1, TF 2.4.2, and ONNX 1.6-7 ([PR69])
- LSF launcher for IBM machines ([PR62])
- Improved code coverage by adding more unit tests ([PR53])
- Orchestrator methods to get address and check status ([PR60])
- Added Manifest object that tracks deployables in Experiments ([PR61])
- Bug fixes ([PR52]) ([PR58]) ([PR67])
- Updated documentation and examples ([PR51]) ([PR57]) ([PR71])
- Improved IP address aquisition ([PR72])
- Binding database to network interfaces ([PR73])
- Support for custom TF installation (i.e. Summit Power9) ([PR76])

[PR51]: https://github.com/CrayLabs/SmartSim/pull/51
[PR52]: https://github.com/CrayLabs/SmartSim/pull/52
[PR53]: https://github.com/CrayLabs/SmartSim/pull/53
[PR57]: https://github.com/CrayLabs/SmartSim/pull/57
[PR58]: https://github.com/CrayLabs/SmartSim/pull/58
[PR60]: https://github.com/CrayLabs/SmartSim/pull/60
[PR61]: https://github.com/CrayLabs/SmartSim/pull/61
[PR62]: https://github.com/CrayLabs/SmartSim/pull/62
[PR67]: https://github.com/CrayLabs/SmartSim/pull/67
[PR69]: https://github.com/CrayLabs/SmartSim/pull/69
[PR71]: https://github.com/CrayLabs/SmartSim/pull/71
[PR72]: https://github.com/CrayLabs/SmartSim/pull/72
[PR73]: https://github.com/CrayLabs/SmartSim/pull/73
[PR76]: https://github.com/CrayLabs/SmartSim/pull/76

0.3.1

see https://www.craylabs.org/docs/changelog.html for details

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.