Skip to content

v0.0.27

Latest
Compare
Choose a tag to compare
@jlewitt1 jlewitt1 released this 08 May 20:30
· 32 commits to main since this release

Highlights

Custom cluster default env support and lots of new examples!

Cluster Default Env

Runhouse cluster now supports a default_env argument to provide more flexibility and isolation for your Runhouse needs. When you set up a cluster with the default env, Runhouse first installs the env on the cluster (any package installations and setup commands), then starts the Runhouse server inside that env, whether it be a bare metal or even conda env. Future Runhouse calls on/to the cluster, such as cluster.run(cmd), rh.function(local_fn).to(cluster), and so one, will default to run on this default env. Simply pass in any runhouse Env object, including it's package requirements, setup commands, working dir, etc, to the cluster factory.

my_default_env = rh.env(
    name="my_default_env",
    reqs=["pytest", "numpy"],
    working_dir="./",
)
my_conda_env = rh.conda_env(name="conda_env1", env_vars={...})  # conda env

cluster = rh.cluster(
    name="my_cluster",
    instance_type="CPU:2+",
    default_env=my_default_env,   # or my_conda_env
)

cluster.run(["pip freeze | grep pytest"])  # runs on default_env

Improvements

  • Introduce support for custom cluster default env (#678, #746, #760)
  • Start our own Ray cluster instead of using SkyPilot's (#742)
  • Exception handling for Module (#747)
  • Disable timeout in AsyncClient (#773)
  • Only sync rh config to ondemand cluster (#782)

Bug Fixes

  • Set CPUs for ClusterServlet to 0 (#772)
    • previously, cluster servlet was taking up 1 cpu resource on the cluster. set this to zero instead
  • Set den_auth default to None in cluster factory (#784)
    • non-None default argument causes the cluster to reconstruct from scratch (rather than reloaded from rns) if there's a non-None argument mismatch

Docs & Examples

See also docs and examples webpages.

New Examples

New Tutorials

  • Async tutorial in docs (#768)