Skip to main content

dstack is an open-source orchestration engine for running AI workloads on any cloud or on-premises.

Project description

dstack is a streamlined alternative to Kubernetes and Slurm, specifically designed for AI. It simplifies container orchestration for AI workloads both in the cloud and on-prem, speeding up the development, training, and deployment of AI models.

dstack is easy to use with any cloud provider as well as on-prem servers.

Accelerators

dstack supports NVIDIA GPU, AMD GPU, and Google Cloud TPU out of the box.

Major news ✨

Installation

Before using dstack through CLI or API, set up a dstack server. If you already have a running dstack server, you only need to set up the CLI.

(Optional) Configure backends

To use dstack with your own cloud accounts, create the ~/.dstack/server/config.yml file and configure backends. Alternatively, you can configure backends via the control plane UI after you start the server.

You can skip backends configuration if you intend to run containers only on your on-prem servers. Use SSH fleets for that.

Start the server

Once the backends are configured, proceed to start the server:

$ pip install "dstack[all]" -U
$ dstack server

Applying ~/.dstack/server/config.yml...

The admin token is "bbae0f28-d3dd-4820-bf61-8f4bb40815da"
The server is running at http://127.0.0.1:3000/

For more details on server configuration options, see the server deployment guide.

Set up the CLI

To point the CLI to the dstack server, configure it with the server address, user token, and project name:

$ pip install dstack
$ dstack config --url http://127.0.0.1:3000 \
    --project main \
    --token bbae0f28-d3dd-4820-bf61-8f4bb40815da
    
Configuration is updated at ~/.dstack/config.yml

How does it work?

1. Define configurations

dstack supports the following configurations:

  • Dev environments — for interactive development using a desktop IDE
  • Tasks — for scheduling jobs (incl. distributed jobs) or running web apps
  • Services — for deployment of models and web apps (with auto-scaling and authorization)
  • Fleets — for managing cloud and on-prem clusters
  • Volumes — for managing persisted volumes
  • Gateways — for configuring the ingress traffic and public endpoints

Configuration can be defined as YAML files within your repo.

2. Apply configurations

Apply the configuration either via the dstack apply CLI command or through a programmatic API.

dstack automatically manages provisioning, job queuing, auto-scaling, networking, volumes, run failures, out-of-capacity errors, port-forwarding, and more — across clouds and on-prem clusters.

More information

For additional information and examples, see the following links:

Contributing

You're very welcome to contribute to dstack. Learn more about how to contribute to the project at CONTRIBUTING.md.

License

Mozilla Public License 2.0

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

dstack-0.18.23rc2.tar.gz (15.0 MB view details)

Uploaded Source

Built Distribution

dstack-0.18.23rc2-py3-none-any.whl (15.3 MB view details)

Uploaded Python 3

File details

Details for the file dstack-0.18.23rc2.tar.gz.

File metadata

  • Download URL: dstack-0.18.23rc2.tar.gz
  • Upload date:
  • Size: 15.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for dstack-0.18.23rc2.tar.gz
Algorithm Hash digest
SHA256 94d5611423c204ee3a4f2e6b7662bef425baa57113a92a0261d8b3fc28ceca13
MD5 ed7fed4c317e896a76b2b3f519f41f36
BLAKE2b-256 a0294ac6c34e534c2e30cbc980b56e9fc56a29a92646d16d8212b2e268aa8896

See more details on using hashes here.

File details

Details for the file dstack-0.18.23rc2-py3-none-any.whl.

File metadata

  • Download URL: dstack-0.18.23rc2-py3-none-any.whl
  • Upload date:
  • Size: 15.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for dstack-0.18.23rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 9efeaeb812ed8b0d294bad8781b01be30c26b812a2fc7cbbd614144029ac1f87
MD5 54dbbe62612d3ef7b59eea1b9b34c3e2
BLAKE2b-256 ec84c5e2100178e577cc1803b8ca77b1f4d46190ab11ead2c56360f9f1347c55

See more details on using hashes here.

Supported by

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