diff --git a/docs/assets/images/nebius-logo.svg b/docs/assets/images/nebius-logo.svg new file mode 100644 index 000000000..a305697ac --- /dev/null +++ b/docs/assets/images/nebius-logo.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/assets/stylesheets/extra.css b/docs/assets/stylesheets/extra.css index 6d6346ce1..ac252c639 100644 --- a/docs/assets/stylesheets/extra.css +++ b/docs/assets/stylesheets/extra.css @@ -40,7 +40,7 @@ font-weight: 500; color: rgba(0, 0, 0, 1.87) !important; text-shadow: none !important; - letter-spacing: -0.5px; + /*letter-spacing: -0.5px;*/ line-height: 1.2; } @@ -220,7 +220,7 @@ [dir=ltr] .md-typeset :is(.admonition-title,summary) { font-size: 18px !important; - letter-spacing: -0.5px; + /*letter-spacing: -0.5px;*/ /*font-weight: 800;*/ font-weight: 700; /*padding-left: 18px;*/ @@ -321,7 +321,7 @@ position: relative; margin-left: 8px; margin-bottom: 4px; - letter-spacing: -0.5px; + /*letter-spacing: -0.5px;*/ } @font-face { @@ -546,7 +546,7 @@ h4.doc-heading { background-color: transparent; border-radius: 3px; border: 0.5px solid rgba(0, 0, 0, 0.87); - height: 1.9rem; + height: 1.95rem; } [data-md-color-primary=white] .md-search__form:hover { @@ -659,7 +659,7 @@ code .md-code__nav:hover .md-code__button { .md-typeset h1, .md-typeset h2, .md-typeset h3, .md-typeset h4, .md-typeset h5, .md-typeset h6 { font-weight: 800; - letter-spacing: -1px; + /*letter-spacing: -1px;*/ color: rgb(0, 0, 0); text-transform: none; } @@ -800,7 +800,7 @@ body { font-size: 17px; font-weight: 600; line-height: 1.4rem; - letter-spacing: -0.5px; + /*letter-spacing: -0.5px;*/ position: relative; left: -11px; } @@ -818,14 +818,14 @@ body { color: white; font-weight: 600; position: absolute; - padding: 5px; + padding: 7px; margin: 4.5px; font-size: .65rem; background-color: rgba(0,0,0,.87); border-radius: 5px; - right: 40px; + right: 37px; z-index: 1; - width: 26px; + width: 30px; text-align: center; } @@ -834,15 +834,15 @@ body { color: white; font-weight: 600; position: absolute; - padding: 5px; + padding: 7px; margin: 4.5px; font-size: .65rem; background-color: rgba(0,0,0,.87); border-radius: 5px; - right: 10px; + right: 1px; top: 0; /*z-index: 1;*/ - width: 26px; + width: 30px; text-align: center; } @@ -903,6 +903,10 @@ body { color: inherit; } +.md-path__list { + margin-top: -7px; +} + .md-path__link { color: var(--md-default-fg-color); font-size: 0.7rem; @@ -953,7 +957,7 @@ body { } .md-typeset a { - letter-spacing: -0.5px; + /*letter-spacing: -0.5px;*/ } html .md-footer-meta.md-typeset a:is(:focus,:hover) { @@ -1087,7 +1091,7 @@ html .md-footer-meta.md-typeset a:is(:focus,:hover) { .md-typeset .tabbed-labels>label > code { background-color: transparent; - letter-spacing: -0.25px; + /*letter-spacing: -0.25px;*/ } .md-typeset .tabbed-set { @@ -1310,9 +1314,18 @@ html .md-footer-meta.md-typeset a:is(:focus,:hover) { display: none; } - .md-tabs__item:nth-child(6) { + .md-tabs__item:nth-child(5):after { + content: url('data:image/svg+xml,'); + line-height: 14px; + margin-left: 4px; + position: relative; + top: 16px; + margin-right: -7px; + } + + /*.md-tabs__item:nth-child(6) { margin-left: auto; - padding-right: 1.2rem; + padding-right: 0.8rem; } .md-tabs__item:nth-child(n+6) .md-tabs__link { @@ -1327,7 +1340,7 @@ html .md-footer-meta.md-typeset a:is(:focus,:hover) { height: 38px; margin-top: 4px; visibility: visible; - } + }*/ .twemoji.external { position: relative; @@ -1345,19 +1358,19 @@ html .md-footer-meta.md-typeset a:is(:focus,:hover) { margin-right: -7px; } - .md-tabs__item:nth-child(6) .md-tabs__link:before { + /*.md-tabs__item:nth-child(6) .md-tabs__link:before { position: relative; content: ''; - width: 40px; - height: 35px; + width: 37px; + height: 31px; display: inline-block; - -webkit-mask: url('data:image/svg+xml,') no-repeat 50% 50%; - mask: url('data:image/svg+xml,') no-repeat 50% 50%; + -webkit-mask: url('data:image/svg+xml,') no-repeat 50% 50%; + mask: url('data:image/svg+xml,') no-repeat 50% 50%; -webkit-mask-size: cover; mask-size: cover; background: -webkit-linear-gradient(45deg, #0048ff, #ce00ff); - margin-top: 0; - } + margin-top: 1px; + }*/ .md-tabs__link { display: flex; @@ -1368,7 +1381,7 @@ html .md-footer-meta.md-typeset a:is(:focus,:hover) { font-size: 0.85rem; font-weight: 500; color: rgba(0,0,0,0.87); - letter-spacing: -0.5px; + /*letter-spacing: -0.5px;*/ margin-top: 1px; line-height: 24px; } diff --git a/docs/assets/stylesheets/landing.css b/docs/assets/stylesheets/landing.css index 5a1ff749c..a54a22d66 100644 --- a/docs/assets/stylesheets/landing.css +++ b/docs/assets/stylesheets/landing.css @@ -14,7 +14,7 @@ margin-bottom: .75rem; font-weight: 700; font-size: 2.5em; - letter-spacing: -3px; + /*letter-spacing: -3px;*/ } .tx-landing__hero_text h1 strong { @@ -233,7 +233,7 @@ .md-header__buttons .md-button { font-size: 18.7px; - letter-spacing: -0.5px; + /*letter-spacing: -0.5px;*/ } .md-typeset .md-button { @@ -251,7 +251,7 @@ vertical-align: middle; } -.md-typeset .md-button .icon { +.md-typeset .md-button .icon, .md-typeset .md-link .icon { display: inline-block; position: relative; width: 15px; @@ -358,15 +358,72 @@ } .tx-landing__highlights_text h2 { - font-size: 2em; + font-size: 2.3em; max-width: 600px; font-weight: 700; margin-top: 0; margin-bottom: 1.8em; - letter-spacing: -1.5px; + /*letter-spacing: -1.5px;*/ line-height: 1.3; } +.tx-landing__bottom_sky_cta { + margin: -15px 0; + border-radius: 3px; + padding: 10px 50px 20px; + border: 0.5px dotted black; + /*background: -webkit-linear-gradient(45deg, rgba(0, 42, 255, 0.01), rgba(0, 42, 255, 0.01), rgba(225, 101, 254, 0.016))*/; +} + +.tx-landing__bottom_sky_cta h2 { + margin-top: 0.75em; +} + +@media screen and (min-width: 76.1875em) { + .tx-landing__bottom_sky_cta .tx-landing__bottom_sky_cta_panel { + display: flex; + column-gap: 30px; + } + + .tx-landing__bottom_sky_cta .tx-landing__bottom_sky_cta_button_panel { + flex: inherit; + margin-top: -45px + /*margin-top: 15px*/ + } +} + +@media screen and (max-width: 76.1875em) { + .tx-landing__bottom_sky_cta .tx-landing__bottom_sky_cta_panel { + display: flex; + row-gap: 30px; + flex-direction: column; + } + + .tx-landing__bottom_sky_cta .tx-landing__bottom_sky_cta_button_panel { + flex: inherit; + /*margin-top: -45px*/ + } +} + +/*.tx-landing__bottom_sky_cta .plans_card__services { + margin: 1.3rem 0; +}*/ + +.tx-landing__bottom_sky_cta .tx-landing__bottom_sky_cta_text { + width: 780px; + max-width: 100%; + font-size: 0.95em; +} + +.tx-landing__bottom_sky_cta .tx-landing__bottom_sky_cta_button_panel a { + margin: 0 0 15px; +} + +.tx-landing__bottom_sky_cta .tx-landing__bottom_sky_cta_button_subheader { + font-size: 0.9em; + margin-bottom: 10px; +} + .tx-landing__highlights_cta { margin-top: 3vw; } @@ -644,7 +701,7 @@ .tx-landing__major_feature { font-size: 1em; - margin-top: 5em; + margin-top: 4em; } .tx-landing__bottom_cta_text { @@ -671,14 +728,14 @@ } .tx-landing__major_feature h2 { - font-size: 1.5em; + font-size: 1.7em; max-width: 500px; margin-top: 0.75em; margin-bottom: 0.75em; background: black; -webkit-background-clip: text; -webkit-text-fill-color: transparent; - letter-spacing: -1.5px; + /*letter-spacing: -1.5px;*/ } .tx-landing__major_feature { @@ -701,7 +758,7 @@ } .tx-landing__major_feature .block.large { - width: 800px; + width: 650px; max-width: 100%; flex: 0 0 auto; } @@ -750,7 +807,7 @@ font-size: 0.8rem; font-weight: 700; color: black; - letter-spacing: -0.5px; + /*letter-spacing: -0.5px;*/ line-height: 24px; margin-top: 0.6rem; margin-bottom: 0.1rem; @@ -816,6 +873,63 @@ } +.tx-landing__major_feature .supported_clouds_block.block.large { + width: 600px +} + +.supported_clouds { + display: grid; + flex-wrap: wrap; + grid-gap: 0; + margin-bottom: 1.3rem; + max-width: 550px; +} + +@media screen and (min-width: 44.984375em) { + .supported_clouds { + grid-template-columns: repeat(4, 1fr) !important; + } +} + +@media screen and (max-width: 44.984375em) { + .supported_clouds { + grid-template-columns: repeat(3, 1fr) !important; + } +} + +.supported_clouds_item { + display: flex; + /* align-items: center; */ + gap: 15px; + padding: 20px 26px; + /* border-radius: 2px; */ + border: 0.5px dotted black; + /* font-size: .85em; */ + line-height: 1.44; + color: #2A292D; + aspect-ratio: 1; + flex-direction: column; + font-weight: 800; + font-size: 85%; +} + +@media screen and (min-width: 76.1875em) { + .supported_clouds_item { + border-right: none; + border-bottom: none; + } + + .supported_clouds_item { + &:nth-child(4), &:nth-child(8), &:nth-child(n-1) { + border-right: 0.5px dotted black; + } + + &:nth-child(n+8) { + border-bottom: 0.5px dotted black; + } + } +} + .tx-landing__plans_text h2 { margin-bottom: 2rem; font-weight: 800; diff --git a/docs/blog/posts/metrics-ui.md b/docs/blog/posts/metrics-ui.md index 6a7c7a69f..45f0fc298 100644 --- a/docs/blog/posts/metrics-ui.md +++ b/docs/blog/posts/metrics-ui.md @@ -55,6 +55,6 @@ For persistent storage and long-term access to metrics, we still recommend setti metrics from `dstack`. !!! info "What's next?" - 1. See the [Monitoring](../../docs/guides/monitoring.md) guide + 1. See [Metrics](../../docs/concepts/metrics.md) 2. Check [dev environments](../../docs/concepts/dev-environments.md), [tasks](../../docs/concepts/tasks.md), [services](../../docs/concepts/services.md), and [fleets](../../docs/concepts/fleets.md) 3. Join [Discord :material-arrow-top-right-thin:{ .external }](https://discord.gg/u8SmfwPpMd){:target="_blank"} diff --git a/docs/blog/posts/prometheus.md b/docs/blog/posts/prometheus.md index 86d810eab..8aa68e82f 100644 --- a/docs/blog/posts/prometheus.md +++ b/docs/blog/posts/prometheus.md @@ -46,7 +46,7 @@ Overall, `dstack` collects three groups of metrics: | **Runs** | Run metrics include run counters for each user in each project. | | **Jobs** | A run consists of one or more jobs, each mapped to a container. Job metrics offer insights into execution time, cost, GPU model, NVIDIA DCGM telemetry, and more. | -For a full list of available metrics and labels, check out the [Monitoring](../../docs/guides/monitoring.md) guide. +For a full list of available metrics and labels, check out [Metrics](../../docs/concepts/metrics.md). ??? info "NVIDIA" NVIDIA DCGM metrics are automatically collected for `aws`, `azure`, `gcp`, and `oci` backends, @@ -60,7 +60,7 @@ For a full list of available metrics and labels, check out the [Monitoring](../. only accessible through the UI and the [`dstack metrics`](dstack-metrics.md) CLI. !!! info "What's next?" - 1. See the [Monitoring](../../docs/guides/monitoring.md) guide + 1. See [Metrics](../../docs/concepts/metrics.md) 1. Check [dev environments](../../docs/concepts/dev-environments.md), [tasks](../../docs/concepts/tasks.md), [services](../../docs/concepts/services.md), and [fleets](../../docs/concepts/fleets.md) diff --git a/docs/community.md b/docs/community.md deleted file mode 100644 index be38e5ff9..000000000 --- a/docs/community.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -hide: - - navigation -# - toc - - footer ---- - - - -## Help and feedback - -Connect with the `dstack` team and community through Discord or share feedback on GitHub. - - - -## Ambassador program - -Love AI infrastructure and open-source? Become a `dstack` ambassador! - -As an ambassador, you’ll play a key role in growing our community by: - -* Sharing your expertise through blogs, talks, and tutorials -* Organizing meetups and community events -* Advocating for open-source AI container orchestration - - - Get involved - - -> We support ambassadors with recognition, wider exposure, and cloud GPU credits. - -## Contributing to dstack - -Join the development of `dstack` by contributing bug fixes, -new features, and cloud integrations via custom backends. - - diff --git a/docs/docs/concepts/backends.md b/docs/docs/concepts/backends.md index b809ba265..91ac1f0f9 100644 --- a/docs/docs/concepts/backends.md +++ b/docs/docs/concepts/backends.md @@ -4,7 +4,7 @@ To use `dstack` with cloud providers, configure backends via the [`~/.dstack/server/config.yml`](../reference/server/config.yml.md) file. The server loads this file on startup. -Alternatively, you can configure backends on the [project settings page](../guides/administration.md#backends) via UI. +Alternatively, you can configure backends on the [project settings page](../concepts/projects.md#backends) via UI. > For using `dstack` with on-prem servers, no backend configuration is required. > Use [SSH fleets](../concepts/fleets.md#ssh) instead. diff --git a/docs/docs/concepts/dev-environments.md b/docs/docs/concepts/dev-environments.md index 3e963967e..1c4a45571 100644 --- a/docs/docs/concepts/dev-environments.md +++ b/docs/docs/concepts/dev-environments.md @@ -339,5 +339,5 @@ retry: --8<-- "docs/concepts/snippets/manage-runs.ext" !!! info "What's next?" - 1. Read about [tasks](tasks.md), [services](services.md), and [repos](../guides/repos.md) + 1. Read about [tasks](tasks.md), [services](services.md), and [repos](repos.md) 2. Learn how to manage [fleets](fleets.md) diff --git a/docs/docs/guides/monitoring.md b/docs/docs/concepts/metrics.md similarity index 99% rename from docs/docs/guides/monitoring.md rename to docs/docs/concepts/metrics.md index e71604776..fec6a222a 100644 --- a/docs/docs/guides/monitoring.md +++ b/docs/docs/concepts/metrics.md @@ -1,4 +1,4 @@ -# Monitoring +# Metrics ## Prometheus diff --git a/docs/docs/guides/administration.md b/docs/docs/concepts/projects.md similarity index 99% rename from docs/docs/guides/administration.md rename to docs/docs/concepts/projects.md index d45abc8ab..bf4d9dc88 100644 --- a/docs/docs/guides/administration.md +++ b/docs/docs/concepts/projects.md @@ -1,4 +1,4 @@ -# Administration +# Projects Projects enable the isolation of different teams and their resources. Each project can configure its own backends and control which users have access to it. diff --git a/docs/docs/guides/repos.md b/docs/docs/concepts/repos.md similarity index 100% rename from docs/docs/guides/repos.md rename to docs/docs/concepts/repos.md diff --git a/docs/docs/concepts/services.md b/docs/docs/concepts/services.md index 420b764ad..c6d0d5dfc 100644 --- a/docs/docs/concepts/services.md +++ b/docs/docs/concepts/services.md @@ -473,7 +473,7 @@ If you'd like `dstack` to automatically retry, configure the --8<-- "docs/concepts/snippets/manage-runs.ext" !!! info "What's next?" - 1. Read about [dev environments](dev-environments.md), [tasks](tasks.md), and [repos](../guides/repos.md) + 1. Read about [dev environments](dev-environments.md), [tasks](tasks.md), and [repos](repos.md) 2. Learn how to manage [fleets](fleets.md) 3. See how to set up [gateways](gateways.md) 4. Check the [TGI :material-arrow-top-right-thin:{ .external }](../../examples/deployment/tgi/index.md){:target="_blank"}, diff --git a/docs/docs/concepts/tasks.md b/docs/docs/concepts/tasks.md index bec936e88..8d0739d34 100644 --- a/docs/docs/concepts/tasks.md +++ b/docs/docs/concepts/tasks.md @@ -418,6 +418,6 @@ retry: --8<-- "docs/concepts/snippets/manage-runs.ext" !!! info "What's next?" - 1. Read about [dev environments](dev-environments.md), [services](services.md), and [repos](../guides/repos.md) + 1. Read about [dev environments](dev-environments.md), [services](services.md), and [repos](repos.md) 2. Learn how to manage [fleets](fleets.md) 3. Check the [Axolotl](/examples/fine-tuning/axolotl) example diff --git a/docs/docs/guides/server-deployment.md b/docs/docs/guides/server-deployment.md index d1b4e96a6..6b24c0b17 100644 --- a/docs/docs/guides/server-deployment.md +++ b/docs/docs/guides/server-deployment.md @@ -61,7 +61,7 @@ To use `dstack` with cloud providers, configure [backends](../concepts/backends. via the `~/.dstack/server/config.yml` file. The server loads this file on startup. -Alternatively, you can configure backends on the [project settings page](../guides/administration.md#backends) via UI. +Alternatively, you can configure backends on the [project settings page](../concepts/projects.md#backends) via UI. > For using `dstack` with on-prem servers, no backend configuration is required. > Use [SSH fleets](../concepts/fleets.md#ssh) instead. diff --git a/docs/docs/guides/troubleshooting.md b/docs/docs/guides/troubleshooting.md index f43023141..047e55eff 100644 --- a/docs/docs/guides/troubleshooting.md +++ b/docs/docs/guides/troubleshooting.md @@ -38,7 +38,7 @@ If you have configured a backend and still can't use it, check the output of `ds for backend configuration errors. > **Tip**: You can find a list of successfully configured backends -> on the [project settings page](../guides/administration.md#backends) in the UI. +> on the [project settings page](../concepts/projects.md#backends) in the UI. #### Cause 2: Requirements mismatch @@ -113,7 +113,7 @@ If you are using [dstack Sky :material-arrow-top-right-thin:{ .external }](https://sky.dstack.ai){:target="_blank"}, you will not see marketplace offers until you top up your balance. Alternatively, you can configure your own cloud accounts -on the [project settings page](../guides/administration.md#backends) +on the [project settings page](../concepts/projects.md#backends) or use [SSH fleets](../concepts/fleets.md#ssh). ### Provisioning fails diff --git a/docs/docs/reference/cli/dstack/init.md b/docs/docs/reference/cli/dstack/init.md index 7cdf63d93..94aa9c5fc 100644 --- a/docs/docs/reference/cli/dstack/init.md +++ b/docs/docs/reference/cli/dstack/init.md @@ -1,6 +1,6 @@ # dstack init -This command initializes the current directory as a `dstack` [repo](../../../guides/repos.md). +This command initializes the current directory as a `dstack` [repo](../../../concepts/repos.md). **Git credentials** diff --git a/docs/overrides/home.html b/docs/overrides/home.html index 4fbdefdff..bf0fb2601 100644 --- a/docs/overrides/home.html +++ b/docs/overrides/home.html @@ -16,90 +16,69 @@ {% endblock %} @@ -110,26 +89,28 @@

Simplified AI workload orchestration

-

dstack is an open-source alternative to Kubernetes and Slurm, designed - to simplify AI development for ML engineers. It streamlines AI workloads and GPU orchestration - across top clouds and on-prem clusters.

+

dstack is an open-source alternative to + Kubernetes and Slurm, designed + to simplify GPU allocation and AI workload orchestration + for ML teams across top clouds, on-prem clusters, and accelerators.

- - - - Install open-source + style="min-width: 225px; margin-right: 10px"> + Get started - - Talk to us + + Documentation + + +
@@ -142,29 +123,81 @@

Simplified AI workload orchestration

-

AI-native container orchestration

+

Efficient cloud GPU provisioning and utilization

- Designed for ML engineers, it simplifies development, training, cluster management, and - inference. + dstack natively integrates with top GPU clouds, streamlining the + provisioning, allocation, and utilization of cloud GPUs and high-performance interconnected + clusters.

-

dstack optimizes GPU provisioning, container orchestration, - job scheduling, metrics monitoring, and cost efficiency.

-

- dstack integrates natively with top GPU clouds and runs - seamlessly on private clouds and data centers. + dstack provides a unified interface on top of GPU + clouds, simplifying development, training, and deployment for ML teams.

- Documentation + Backends

-
- +
+
+ + +
AWS
+
+ + + +
GCP
+
+ + + +
Lambda
+
+ + + +
Nebius
+
+ + + +
RunPod
+
+ + + +
Vultr
+
+ + + +
Vast.ai
+
+ + + +
TensorDock
+
+ + + +
CUDO
+
+ + + +
Azure
+
+ + + +
OCI
+
+
@@ -172,53 +205,42 @@

AI-native container orchestration

- +
-

IDEs & notebooks

-

- Dev environments allow you to provision a remote machine, set up with your code and favorite - IDE, with just one command. -

+

Orchestrating workloads on existing clusters

+

Whether you have an on-prem cluster of GPU-equipped bare-metal machines or a pre-provisioned + cluster of GPU-enabled VMs, you just need to list the hostnames and SSH credentials of the hosts + to add the cluster as a fleet for running any AI workload.

- Dev environments are perfect for interactively running code - using your favorite IDE or notebook before scheduling a task or deploying a service. -

- -

- Learn more + SSH fleets

-
-

Training & fine-tuning

- +

Launching containerized dev environments

- Tasks allow you to schedule jobs or run web apps. - Tasks can run on single nodes or be distributed across clusters. - You can configure dependencies, resources, ports, and more. + Before running training jobs or deploying model endpoints, ML engineers often experiment with + their code in a desktop IDE while using cloud or on-prem GPU machines. + Dev environments simplify and streamline this process.

-

Tasks are ideal for training and fine-tuning jobs, running apps, - or executing batch jobs, including those using Spark and Ray.

-

- Learn more + Dev environments

- +
@@ -226,21 +248,22 @@

Training & fine-tuning

- +
-
-

Scalable inference

- -

Services let you deploy models or web apps as private or public auto-scalable endpoints. - You can configure dependencies, resources, authorization, auto-scaling rules, and more.

+
+

Scheduling jobs on clusters and single instances

-

Once deployed, the endpoint can be accessed by anyone on the team.

+

+ Tasks simplify the process of scheduling jobs on either optimized clusters or individual + instances. They can be used for pre-training or fine-tuning models, as well as for running any + AI or data workloads that require efficient GPU utilization. +

- Learn more + Tasks

@@ -249,30 +272,30 @@

Scalable inference

-

Managing clusters

- -

Fleets streamline provisioning and management of cloud and on-prem - clusters, ensuring optimal performance for AI workloads.

+

Deploying auto-scaling model endpoints

-

Once created, a Fleet enable teams to run Dev environments, - Tasks, and Services.

+

+ With dstack, you can easily deploy any model as a secure, + auto-scaling OpenAI-compatible endpoint, all while using your custom code, Docker image, and + serving framework. +

- Learn more + Services

- +
-

ML engineers dstack

+

Loved by world-class ML teams

@@ -284,7 +307,8 @@

Aleksandr Movchan

ML Engineer @Mobius Labs

- Thanks to dstack, my team can quickly tap into affordable GPUs and streamline our workflows + Thanks to dstack, my team can quickly tap into affordable + GPUs and streamline our workflows from testing and development to full-scale application deployment.

@@ -298,7 +322,8 @@

Andrew Spott

ML Engineer @Stealth

- Thanks to dstack, I get the convenience of having a personal Slurm cluster + Thanks to dstack, I get the convenience of having a personal + Slurm cluster and using budget-friendly cloud GPUs, without paying the super-high premiums charged by the big three.

@@ -313,7 +338,8 @@

Alvaro Bartolome

ML Engineer @Argilla

- With dstack it's incredibly easy to define a configuration within a + With dstack it's incredibly easy to define a configuration + within a repository and run it without worrying about GPU availability. It lets you focus on data and your research. @@ -329,7 +355,8 @@

Park Chansung

ML Researcher @ETRI

- Thanks to dstack, I can effortlessly access the top GPU options across + Thanks to dstack, I can effortlessly access the top GPU + options across different clouds, saving me time and money while pushing my AI work forward.

@@ -369,14 +396,29 @@

Co-Founder @CUDO Compute

- - - + class="md-button md-button--primary sky external"> Sign up free - + <!––>
Already have an account? Sign in
+
–> +
--> + + + +


+ +
+

Get up and running in less than a minute

+
+ +
+
+
+

Install dstack on your laptop via pip + and start it using the CLI, or deploy it anywhere with the dstackai/dstack Docker image.

+ +

Configure the dstack server with cloud accounts or connect it to on-prem clusters once it's running.

+ +

+ + Get started + + + + + Documentation + +

+
+ +
+
+ +
+
@@ -529,15 +610,18 @@

FAQ

To efficiently support GPU workloads, Kubernetes typically requires custom operators, and it may not offer the most intuitive interface for ML engineers.

-

dstack takes a different approach, focusing on container orchestration specifically for AI +

dstack takes a different approach, focusing on container + orchestration specifically for AI workloads, with the goal of making life easier for ML engineers.

-

Designed to be lightweight, dstack provides a simpler, more intuitive interface for +

Designed to be lightweight, dstack provides a simpler, more + intuitive interface for development, training, and inference. It also enables more flexible and cost-effective provisioning and management of clusters.

-

For optimal flexibility, dstack and Kubernetes can complement each other: dstack can handle +

For optimal flexibility, dstack and Kubernetes can complement + each other: dstack can handle development, while Kubernetes manages production deployments.

@@ -554,9 +638,11 @@

FAQ

Slurm excels at job scheduling across pre-configured clusters.

-

dstack goes beyond scheduling, providing a full suite of features tailored to ML teams, +

dstack goes beyond scheduling, providing a full suite of + features tailored to ML teams, including cluster management, dynamic compute provisioning, development environments, and - advanced monitoring. This makes dstack a more comprehensive solution for AI workloads, + advanced monitoring. This makes dstack a more comprehensive + solution for AI workloads, whether in the cloud or on-prem.

@@ -581,7 +667,8 @@

FAQ

- For ML teams seeking a more streamlined, AI-native development platform, dstack + For ML teams seeking a more streamlined, AI-native development platform, dstack provides an alternative to Kubernetes and Slurm, removing the need for MLOps or custom solutions.

@@ -594,16 +681,95 @@

FAQ

Have questions, or need help?
- - Talk to us - + class="md-button md-button-secondary discord external small" + style="min-width: 175px;"> Discord + + Talk to us +

+ +


+ +
+

dstack Sky

+ +
+
+

Don't want to host the dstack server or want to get the cheapest GPUs from the marketplace?

+ + +
+
+
+ + Sign up free + +
+ +
+ Already have an account? Sign in +
+
+
+
{% endblock %} diff --git a/docs/overrides/path.html b/docs/overrides/path.html index e47732a3d..41f860d17 100644 --- a/docs/overrides/path.html +++ b/docs/overrides/path.html @@ -9,11 +9,36 @@ {% if nav.homepage %} {% set depth = depth + 1 %} {% endif %} -{% if depth > 1 %} +{% macro arender_content(nav_item) %} + + {{ nav_item.title }} + +{% endmacro %} +{% macro arender(nav_item, ref = nav_item) %} + {% if nav_item.children %} + {% set first = nav_item.children | first %} + {% if first.children %} + {{ arender(first, ref) }} + {% else %} +
  • + + {{ arender_content(ref) }} + +
  • + {% endif %} + {% else %} +
  • + + {{ arender_content(ref) }} + +
  • + {% endif %} +{% endmacro %} +{% if depth > 1 and page.ancestors | length > 1 %} diff --git a/docs/pricing.md b/docs/pricing.md deleted file mode 100644 index d33e25cdb..000000000 --- a/docs/pricing.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -template: pricing.html -hide: - - navigation - - toc - - footer ---- diff --git a/examples/.dstack.yml b/examples/.dstack.yml index b58b64131..fd14ffe1d 100644 --- a/examples/.dstack.yml +++ b/examples/.dstack.yml @@ -12,4 +12,4 @@ ide: vscode spot_policy: auto resources: - gpu: 24GB + gpu: 1 diff --git a/mkdocs.yml b/mkdocs.yml index 7488009d6..cb115b2e6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -11,7 +11,7 @@ repo_name: dstackai/dstack edit_uri: edit/master/docs/ #Copyright -copyright: © 2024 dstack +copyright: © 2025 dstack # Configuration theme: @@ -43,7 +43,7 @@ theme: # name: Switch to light mode features: - content.tooltips - # - navigation.path + - navigation.path - content.code.copy - content.action.edit # - navigation.indexes @@ -74,13 +74,6 @@ plugins: - search - redirects: redirect_maps: - 'examples/tgi.md': 'https://github.com/dstackai/dstack/blob/master/examples/deployment/tgi/README.md' - 'examples/vllm.md': 'https://github.com/dstackai/dstack/blob/master/examples/deployment/vllm/README.md' - 'examples/olama.md': 'https://github.com/dstackai/dstack/blob/master/examples/deployment/olama/README.md' - 'examples/tae.md': 'https://github.com/dstackai/dstack/blob/master/examples/deployment/tae/README.md' - 'examples/infinity.md': 'https://github.com/dstackai/dstack/blob/master/examples/deployment/infinity/README.md' - 'examples/qlora.md': 'https://github.com/dstackai/dstack/blob/master/examples/fine-tuning/qlora/README.md' - 'examples/mixtral.md': 'https://github.com/dstackai/dstack/blob/master/examples/llms/mixtral/README.md' 'blog/2024/02/08/resources-authentication-and-more.md': 'https://github.com/dstackai/dstack/releases/0.15.0' 'blog/2024/01/19/openai-endpoints-preview.md': 'https://github.com/dstackai/dstack/releases/0.14.0' 'blog/2023/12/22/disk-size-cuda-12-1-mixtral-and-more.md': 'https://github.com/dstackai/dstack/releases/0.13.0' @@ -93,30 +86,10 @@ plugins: 'blog/2023/05/22/azure-support-better-ui-and-more.md': 'https://github.com/dstackai/dstack/releases/0.9.1' 'blog/2023/03/13/gcp-support-just-landed.md': 'https://github.com/dstackai/dstack/releases/0.2' 'blog/dstack-research.md': 'https://dstack.ai/#get-started' - 'changelog/0.2.md': 'https://github.com/dstackai/dstack/releases/0.2' - 'changelog/0.9.1.md': 'https://github.com/dstackai/dstack/releases/0.9.1' - 'changelog/0.10.5.md': 'https://github.com/dstackai/dstack/releases/0.10.5' - 'changelog/0.10.7.md': 'https://github.com/dstackai/dstack/releases/0.10.7' - 'changelog/0.11.0.md': 'https://github.com/dstackai/dstack/releases/0.11' - 'changelog/0.12.0.md': 'https://github.com/dstackai/dstack/releases/0.12.0' - 'changelog/0.12.2.md': 'https://github.com/dstackai/dstack/releases/0.12.2' - 'changelog/0.12.3.md': 'https://github.com/dstackai/dstack/releases/0.12.3' - 'changelog/0.13.0.md': 'https://github.com/dstackai/dstack/releases/0.13.0' - 'changelog/0.14.0.md': 'https://github.com/dstackai/dstack/releases/0.14.0' - 'changelog/0.15.0.md': 'https://github.com/dstackai/dstack/releases/0.15.0' - 'changelog/0.15.1.md': 'https://github.com/dstackai/dstack/releases/0.15.1' - 'changelog/0.16.0.md': 'https://github.com/dstackai/dstack/releases/0.16.0' - 'changelog/0.16.1.md': 'https://github.com/dstackai/dstack/releases/0.16.1' - 'changelog/0.17.0.md': 'https://github.com/dstackai/dstack/releases/0.17.0' - 'changelog/0.18.0.md': 'https://github.com/dstackai/dstack/releases/0.18.0' - 'docs/concepts/projects.md': 'docs/guides/administration.md' - 'docs/concepts/repos.md': 'docs/guides/repos.md' - 'docs/guides/metrics.md': 'docs/guides/monitoring.md' 'docs/dev-environments.md': 'docs/concepts/dev-environments.md' 'docs/tasks.md': 'docs/concepts/tasks.md' 'docs/services.md': 'docs/concepts/services.md' 'docs/fleets.md': 'docs/concepts/fleets.md' - 'docs/examples/index.md': 'examples.md' 'docs/examples/llms/llama31.md': 'examples/llms/llama31/index.md' 'docs/examples/llms/llama32.md': 'examples/llms/llama32/index.md' 'docs/examples/accelerators/amd/index.md': 'examples/accelerators/amd/index.md' @@ -125,7 +98,6 @@ plugins: 'docs/examples/deployment/tgi/index.md': 'examples/deployment/tgi/index.md' 'providers.md': 'partners.md' 'backends.md': 'partners.md' - 'developers.md': 'community.md' 'blog/ambassador-program.md': 'blog/archive/ambassador-program.md' 'blog/monitoring-gpu-usage.md': 'blog/posts/dstack-metrics.md' 'blog/inactive-dev-environments-auto-shutdown.md': 'blog/posts/inactivity-duration.md' @@ -199,12 +171,12 @@ extra: provider: google property: G-JX21114P7B social: - - icon: /fontawesome/brands/github - link: https://github.com/dstackai/dstack - icon: /fontawesome/brands/python link: https://pypi.org/project/dstack - icon: /fontawesome/brands/docker link: https://hub.docker.com/r/dstackai/dstack + - icon: /fontawesome/brands/github + link: https://github.com/dstackai/dstack - icon: /fontawesome/brands/discord link: https://discord.gg/u8SmfwPpMd - icon: /simple/x @@ -222,70 +194,70 @@ nav: - Installation: docs/installation/index.md - Quickstart: docs/quickstart.md - Concepts: - - Backends: docs/concepts/backends.md - Dev environments: docs/concepts/dev-environments.md - Tasks: docs/concepts/tasks.md - Services: docs/concepts/services.md - Fleets: docs/concepts/fleets.md - Volumes: docs/concepts/volumes.md + - Repos: docs/concepts/repos.md + - Metrics: docs/concepts/metrics.md + - Backends: docs/concepts/backends.md + - Projects: docs/concepts/projects.md - Gateways: docs/concepts/gateways.md - Guides: - Protips: docs/guides/protips.md - - Repos: docs/guides/repos.md - Server deployment: docs/guides/server-deployment.md - - Monitoring: docs/guides/monitoring.md - Troubleshooting: docs/guides/troubleshooting.md - - Administration: docs/guides/administration.md - Reference: - - .dstack.yml: - - dev-environment: docs/reference/dstack.yml/dev-environment.md - - task: docs/reference/dstack.yml/task.md - - service: docs/reference/dstack.yml/service.md - - fleet: docs/reference/dstack.yml/fleet.md - - gateway: docs/reference/dstack.yml/gateway.md - - volume: docs/reference/dstack.yml/volume.md - - server/config.yml: docs/reference/server/config.yml.md - - CLI: - - dstack server: docs/reference/cli/dstack/server.md - - dstack init: docs/reference/cli/dstack/init.md - - dstack apply: docs/reference/cli/dstack/apply.md - - dstack delete: docs/reference/cli/dstack/delete.md - - dstack ps: docs/reference/cli/dstack/ps.md - - dstack stop: docs/reference/cli/dstack/stop.md - - dstack attach: docs/reference/cli/dstack/attach.md - - dstack logs: docs/reference/cli/dstack/logs.md - - dstack metrics: docs/reference/cli/dstack/metrics.md - - dstack config: docs/reference/cli/dstack/config.md - - dstack fleet: docs/reference/cli/dstack/fleet.md - - dstack volume: docs/reference/cli/dstack/volume.md - - dstack gateway: docs/reference/cli/dstack/gateway.md - - API: - - Python API: docs/reference/api/python/index.md - - REST API: docs/reference/api/rest/index.md - - Environment variables: docs/reference/environment-variables.md + - .dstack.yml: + - dev-environment: docs/reference/dstack.yml/dev-environment.md + - task: docs/reference/dstack.yml/task.md + - service: docs/reference/dstack.yml/service.md + - fleet: docs/reference/dstack.yml/fleet.md + - gateway: docs/reference/dstack.yml/gateway.md + - volume: docs/reference/dstack.yml/volume.md + - server/config.yml: docs/reference/server/config.yml.md + - CLI: + - dstack server: docs/reference/cli/dstack/server.md + - dstack init: docs/reference/cli/dstack/init.md + - dstack apply: docs/reference/cli/dstack/apply.md + - dstack delete: docs/reference/cli/dstack/delete.md + - dstack ps: docs/reference/cli/dstack/ps.md + - dstack stop: docs/reference/cli/dstack/stop.md + - dstack attach: docs/reference/cli/dstack/attach.md + - dstack logs: docs/reference/cli/dstack/logs.md + - dstack metrics: docs/reference/cli/dstack/metrics.md + - dstack config: docs/reference/cli/dstack/config.md + - dstack fleet: docs/reference/cli/dstack/fleet.md + - dstack volume: docs/reference/cli/dstack/volume.md + - dstack gateway: docs/reference/cli/dstack/gateway.md + - API: + - Python API: docs/reference/api/python/index.md + - REST API: docs/reference/api/rest/index.md + - Environment variables: docs/reference/environment-variables.md - Examples: - examples.md + - Fine-tuning: + - TRL: examples/fine-tuning/trl/index.md + - Axolotl: examples/fine-tuning/axolotl/index.md - Deployment: + - SGLang: examples/deployment/sglang/index.md - vLLM: examples/deployment/vllm/index.md - TGI: examples/deployment/tgi/index.md - NIM: examples/deployment/nim/index.md - - SGLang: examples/deployment/sglang/index.md - - Fine-tuning: - - Axolotl: examples/fine-tuning/axolotl/index.md - - TRL: examples/fine-tuning/trl/index.md - - Accelerators: - - AMD: examples/accelerators/amd/index.md - - Intel Gaudi: examples/accelerators/intel/index.md - - TPU: examples/accelerators/tpu/index.md - LLMs: - Deepseek: examples/llms/deepseek/index.md - Llama 3.1: examples/llms/llama31/index.md - Llama 3.2: examples/llms/llama32/index.md + - Accelerators: + - AMD: examples/accelerators/amd/index.md + - Intel Gaudi: examples/accelerators/intel/index.md + - TPU: examples/accelerators/tpu/index.md - Misc: - Docker Compose: examples/misc/docker-compose/index.md - NCCL Tests: examples/misc/nccl-tests/index.md # - Community: community.md - - Partners: partners.md +# - Partners: partners.md - Blog: - blog/index.md - Discord: https://discord.gg/u8SmfwPpMd" target="_blank