Skip to main content

AI Workflows for Science

Reason this release was yanked:

Unbounded Python requires

Project description



Home    Install    Documentation    Slack Invite    Cray Labs   


License GitHub last commit GitHub deployments GitHub tag (latest by date) Language Code style: black


SmartSim

SmartSim makes it easier to use common Machine Learning (ML) libraries like PyTorch and TensorFlow, in High Performance Computing (HPC) simulations and workloads.

SmartSim provides an API to connect HPC (MPI + X) simulations written in Fortran, C, C++, and Python to an in-memory database called the Orchestrator. The Orchestrator is built on Redis, a popular caching database written in C. This connection between simulation and database is the fundamental paradigm of SmartSim. Simulations in the aforementioned languages can stream data to the Orchestrator and pull the data out in Python for online analysis, visualization, and training.

In addition, the Orchestrator is equipped with ML inference runtimes: PyTorch, TensorFlow, and ONNX. From inside a simulation, users can store and execute trained models and retrieve the result.

Supported ML Libraries

SmartSim 0.3.0 uses Redis 6.0.8 and RedisAI 1.2

Library Supported Version
PyTorch 1.7.0
TensorFlow 1.15.0
ONNX 1.2.0

At this time, PyTorch is the most tested within SmartSim and we recommend users use PyTorch at this time if possible.

SmartSim is made up of two parts

  1. SmartSim Infrastructure Library (This repository)
  2. SmartRedis

SmartSim Infrastructure Library

The Infrastructure Library (IL) helps users get the Orchestrator running on HPC systems. In addition, the IL provides mechanisms for creating, configuring, executing and monitoring HPC workloads. Users can launch everything needed to run converged ML and simulation workloads right from a jupyter notebook using the IL Python interface.

Dependencies

The following third-party (non-Python) libraries are used in the SmartSim IL.

SmartRedis

The SmartSim IL Clients (SmartRedis) are implementations of Redis clients that implement the RedisAI API with additions specific to scientific workflows.

SmartRedis clients are available in Fortran, C, C++, and Python. Users can seamlessly pull and push data from the Orchestrator from different languages.

Language Version/Standard
Python 3.7+
Fortran 2003
C C99
C++ C++11

SmartRedis clients are cluster compatible and work with the OSS Redis/RedisAI stack.

Dependencies

SmartRedis utilizes the following libraries.

Publications

The following are public presentations or publications using SmartSim (more to come!)

Cite

Please use the following citation when referencing SmartSim, SmartRedis, or any SmartSim related work.

Partee et al., “Using Machine Learning at Scale in HPC Simulations with SmartSim: An Application to Ocean Climate Modeling,” arXiv:2104.09355, Apr. 2021, [Online]. Available: http://arxiv.org/abs/2104.09355.

bibtex

```latex
@misc{partee2021using,
      title={Using Machine Learning at Scale in HPC Simulations with SmartSim: An Application to Ocean Climate Modeling},
      author={Sam Partee and Matthew Ellis and Alessandro Rigazzi and Scott Bachman and Gustavo Marques and Andrew Shao and Benjamin Robbins},
      year={2021},
      eprint={2104.09355},
      archivePrefix={arXiv},
      primaryClass={cs.CE}
}
```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smartsim-0.3.1.tar.gz (132.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

smartsim-0.3.1-cp39-cp39-manylinux2010_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64

smartsim-0.3.1-cp39-cp39-macosx_10_9_x86_64.whl (984.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

smartsim-0.3.1-cp38-cp38-manylinux2010_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

smartsim-0.3.1-cp38-cp38-macosx_10_9_x86_64.whl (984.3 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

smartsim-0.3.1-cp37-cp37m-manylinux2010_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

smartsim-0.3.1-cp37-cp37m-macosx_10_9_x86_64.whl (984.3 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

Details for the file smartsim-0.3.1.tar.gz.

File metadata

  • Download URL: smartsim-0.3.1.tar.gz
  • Upload date:
  • Size: 132.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for smartsim-0.3.1.tar.gz
Algorithm Hash digest
SHA256 0d163995630aa07630e7843b0805b9e44b0b2e869151beca22dbbacc5d4605d2
MD5 1a8b45b49cc587890aa289d649882685
BLAKE2b-256 1e08d5b9ba6f643b937ef831d787d32a77dcbe92ad519125f1fdba314b6a027c

See more details on using hashes here.

File details

Details for the file smartsim-0.3.1-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: smartsim-0.3.1-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for smartsim-0.3.1-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 247fe7b9914b8ae9430dc1b6c2e04de05aba9003ad7f94d6f0e0abd130552c0e
MD5 0c67533b01179e84ed75dd8aefdf88eb
BLAKE2b-256 874bbc18bbbb77d2cf38f3a7e5b8bf52c55c1eb9411a86815b94bdf8a96c8bb0

See more details on using hashes here.

File details

Details for the file smartsim-0.3.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: smartsim-0.3.1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 984.3 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for smartsim-0.3.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1b0dfbbdc170b315c0edc34f19684e7c62eeb9ef1bff0ac24e901e110e3f37b4
MD5 169046b73ea207f3f9c050a882cbdf68
BLAKE2b-256 c630a348abfdd60b5b7ec0d7b735f594d21d65252d18584cb6fb93a94cf3063b

See more details on using hashes here.

File details

Details for the file smartsim-0.3.1-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: smartsim-0.3.1-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for smartsim-0.3.1-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 40f88306ab45759bf6c1d5231b3cf8120249e8930ddc66bcc81dc9779883ece8
MD5 a710fb4d931101f919266bd70af32ae3
BLAKE2b-256 3ea13ce5eb58ec8b31e4e80e7d317cfb01f17e720ae535a2ee544cfa079022d7

See more details on using hashes here.

File details

Details for the file smartsim-0.3.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: smartsim-0.3.1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 984.3 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for smartsim-0.3.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dc25e54c352c45d5f47aba8361fd62e4d1e395db2e96ec70a702fdc484b70087
MD5 1c275597532e76e248c8068c925b77a4
BLAKE2b-256 7237c034c9832cf59ff90c1369de001eb677d0b0d40610ddac5a9cbbec26b3cc

See more details on using hashes here.

File details

Details for the file smartsim-0.3.1-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: smartsim-0.3.1-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for smartsim-0.3.1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 1863fa220652d1a89dda643cea67c05ed9867168cd96b8e7ece8564f8747c2e1
MD5 ddba8bcca00883495656db641079ed76
BLAKE2b-256 43c330c4862888213ea9ef7eff31868d90e3165d20e7c1aad18080237c66ec3a

See more details on using hashes here.

File details

Details for the file smartsim-0.3.1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: smartsim-0.3.1-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 984.3 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for smartsim-0.3.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d1790443d823243afd622adcb40543c21dfab201a8c8e318c2a4be4a443e33e7
MD5 81752bad50541bbb9313e0176fb6e96d
BLAKE2b-256 f6e2480545596908f07f4ecc6daad606f6bc222f22797c551f8f00b26e07d091

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page