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, 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 providers as well as on-prem servers.
Accelerators
dstack
supports NVIDIA GPU
, AMD GPU
, and Google Cloud TPU
out of the box.
Major news ✨
- [2024/08] dstack 0.18.11: AMD, encryption, and more (Release)
- [2024/08] dstack 0.18.10: Control plane UI (Release)
- [2024/07] dstack 0.18.7: Fleets, RunPod volumes, dstack apply, and more (Release)
- [2024/05] dstack 0.18.4: Google Cloud TPU, and more (Release)
- [2024/05] dstack 0.18.2: On-prem clusters, private subnets, and more (Release)
Installation
Before using dstack
through CLI or API, set up a dstack
server.
1. Configure backends
If you want the dstack
server to run containers or manage clusters in your cloud accounts (or use Kubernetes),
create the ~/.dstack/server/config.yml
file and configure backends.
2. Start the server
Once 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/
Note It's also possible to run the server via Docker.
The dstack
server can run anywhere: on your laptop, a dedicated server, or in the cloud. Once it's up, you
can use either the CLI or the API.
3. 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
4. Create SSH fleets
If you want the
dstack
server to run containers on your on-prem servers, use fleets.
How does it work?
Before using
dstack
, install the server and configure backends.
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
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.14.tar.gz
.
File metadata
- Download URL: dstack-0.18.14.tar.gz
- Upload date:
- Size: 14.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f02c221cd64a5c50489e018169e76c3743a88ba350d4fc4bd0ded5168e951581 |
|
MD5 | f00bd4f0fd41da047865d8bcf58ed2ff |
|
BLAKE2b-256 | b0797c92423ecfcc7ae5f28cbb70bee56c12ad00317c436aad3e7c7533ae3ab4 |
File details
Details for the file dstack-0.18.14-py3-none-any.whl
.
File metadata
- Download URL: dstack-0.18.14-py3-none-any.whl
- Upload date:
- Size: 15.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 029e6c03372b51cbb25afd6f820ae5792c03439520551d00f9e034cba846773e |
|
MD5 | 97636d39eb2c4aad5fcfdf6c76b460fa |
|
BLAKE2b-256 | 10c55e77a3044399d5949a9126a82b46ae3dbb2c27235bfe1166262bb6d075e5 |