dstack is an open-source orchestration engine for running AI workloads on any cloud or on-premises.
Project description
dstack
is an open-source container orchestration engine designed for running AI workloads across any cloud or data
center. It simplifies dev environments, running tasks on clusters, and deployment.
Cloud and on-prem
dstack
allows workload orchestration on both cloud and on-prem servers.
Supported cloud providers include AWS, GCP, Azure, OCI, Lambda, TensorDock, Vast.ai, RunPod, and CUDO.
For on-prem servers, see fleets.
Accelerators
dstack
supports NVIDIA GPUs and Google Cloud TPUs out of the box.
Major news ✨
- [2024/07] dstack 0.18.7rc1: Fleets (Release)
- [2024/05] dstack 0.18.4: Google Cloud TPU, and more (Release)
- [2024/05] dstack 0.18.3: OCI, and more (Release)
- [2024/05] dstack 0.18.2: On-prem clusters, private subnets, and more (Release)
- [2024/04] dstack 0.18.0: RunPod, multi-node tasks, and more (Release)
Installation
Before using dstack
through CLI or API, set up a dstack
server.
Install the server
The easiest way to install the server, is via pip
:
pip install "dstack[all]" -U
Configure backends
If you have default AWS, GCP, Azure, or OCI credentials on your machine, the dstack
server will pick them up automatically.
Otherwise, you need to manually specify the cloud credentials in ~/.dstack/server/config.yml
.
See the server/config.yml reference for details on how to configure backends for all supported cloud providers.
Start the server
To start the server, use the dstack server
command:
$ 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/
Note It's also possible to run the server via Docker.
Add on-prem servers
If you'd like to use
dstack
to run workloads on your on-prem servers, see on-prem fleets command.
How does it work?
1. Define configurations
dstack
supports three types of run configurations:
- Dev environments — for interactive development using a desktop IDE
- Tasks — for any kind of batch jobs or web applications (supports distributed jobs)
- Services— for production-grade deployment (supports auto-scaling and authorization)
Each type of run configuration allows you to specify commands for execution, required compute resources, retry policies, auto-scaling rules, authorization settings, and more.
Configuration can be defined as YAML files within your repo.
2. Run configurations
Run any defined configuration either via dstack
CLI or API.
dstack
automatically handles provisioning, interruptions, port-forwarding, auto-scaling, network, volumes,
run failures, out-of-capacity errors, and more.
3. Manage fleets
Use fleets to provision and manage clusters and instances, both in the cloud and on-prem.
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
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
Built Distribution
File details
Details for the file dstack-0.18.7rc2.tar.gz
.
File metadata
- Download URL: dstack-0.18.7rc2.tar.gz
- Upload date:
- Size: 308.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cb07dac6f88976ce35b17c5b49f02cddd0aa78796551630eb21a3fe54160cea |
|
MD5 | 73ba6e430c5d56955bab5bcd8b381d80 |
|
BLAKE2b-256 | e9e8c5ffd432664003f7e2f826443da7663783c17f2353424562df21efba168f |
File details
Details for the file dstack-0.18.7rc2-py3-none-any.whl
.
File metadata
- Download URL: dstack-0.18.7rc2-py3-none-any.whl
- Upload date:
- Size: 466.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c331d5dcdbcd5a100b12419a000eafafb8bb6b56e208991e49c254a1235278a1 |
|
MD5 | 86f0fc7e34f4a8cf399927394afea030 |
|
BLAKE2b-256 | 485287448a9504baf8e5adad66af54d1560a1cdf187c0d31a69b7fab8d952a3a |