Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docker/base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ ARG UBUNTU_VERSION
# (base / devel / devel-efa).
# ============================================================================

FROM nvidia/cuda:12.8.2-base-ubuntu${UBUNTU_VERSION}.04 AS common
FROM nvidia/cuda:13.0.3-base-ubuntu${UBUNTU_VERSION}.04 AS common

# ARGs before FROM must be redeclared to be used after FROM
ARG UBUNTU_VERSION
Expand Down Expand Up @@ -60,7 +60,7 @@ RUN curl -LsSf https://astral.sh/uv/install.sh | INSTALLER_NO_MODIFY_PATH=1 sh \
# builder: builds NCCL and nccl-tests from source for the base/devel flavors.
# ============================================================================

FROM nvidia/cuda:12.8.2-base-ubuntu${UBUNTU_VERSION}.04 AS builder
FROM nvidia/cuda:13.0.3-base-ubuntu${UBUNTU_VERSION}.04 AS builder

ENV NCCL_HOME=/opt/nccl
ENV CUDA_HOME=/usr/local/cuda
Expand All @@ -86,7 +86,7 @@ RUN export DEBIAN_FRONTEND=noninteractive \
python3 \
build-essential

ARG NCCL_VERSION=2.26.2-1
ARG NCCL_VERSION=2.28.3-1

RUN cd /tmp \
&& git clone https://github.com/NVIDIA/nccl.git -b v${NCCL_VERSION} \
Expand Down Expand Up @@ -167,7 +167,7 @@ RUN cd /tmp \
&& ./efa_installer.sh -y --skip-kmod -g \
&& rm -rf /tmp/aws-efa-installer /var/lib/apt/lists/*

ARG NCCL_VERSION=2.27.7-1
ARG NCCL_VERSION=2.28.3-1

RUN cd /tmp \
&& git clone https://github.com/NVIDIA/nccl.git -b v${NCCL_VERSION} \
Expand Down
2 changes: 1 addition & 1 deletion runner/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Build the runner and shim and upload them to S3 using `just` (see [`justfile`](j
> These variables are required and must be set before running any upload commands.

```shell
just upload
just upload-runner
```

To use the built shim and runner with the `dstack` server, pass the URLs via `DSTACK_SHIM_DOWNLOAD_URL` and `DSTACK_RUNNER_DOWNLOAD_URL`:
Expand Down
2 changes: 1 addition & 1 deletion src/dstack/_internal/core/backends/gcp/compute.py
Original file line number Diff line number Diff line change
Expand Up @@ -1014,7 +1014,7 @@ def _is_supported_gcp_instance(instance_name: str, gpu_name: Optional[str]) -> b
]:
if instance_name.startswith(family):
return True
if gpu_name is not None and gpu_name not in {"K80", "P4"}:
if gpu_name is not None and gpu_name not in {"K80", "P4", "P100"}:
return True
return False

Expand Down
2 changes: 0 additions & 2 deletions src/dstack/_internal/core/backends/oci/compute.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@
"BM.Standard.E4.",
"BM.Standard.E5.",
"BM.Optimized3.",
"VM.GPU2.",
"BM.GPU2.",
"VM.GPU3.",
"BM.GPU3.",
"BM.GPU4.",
Expand Down
7 changes: 4 additions & 3 deletions src/dstack/_internal/core/backends/verda/compute.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,14 +234,15 @@ def update_provisioning_data(


def _get_vm_image_id(instance_offer: InstanceOfferWithAvailability) -> str:
# https://api.verda.com/v1/images
# https://api.datacrunch.io/v1/docs#tag/images/GET/v1/images
if len(instance_offer.instance.resources.gpus) > 0 and instance_offer.instance.resources.gpus[
0
].name in ["V100", "A6000"]:
# * A6000: Verda returns "Operating system is not valid for this instance type" for newer images
# Ubuntu 22.04 + CUDA 12.0 + Docker
return "2088da25-bb0d-41cc-a191-dccae45d96fd"
# Ubuntu 24.04 + CUDA 12.8 Open + Docker
return "77777777-4f48-4249-82b3-f199fb9b701b"
# Ubuntu 24.04 + CUDA 13.0 Open + Docker
return "2404f580-1300-1111-82b3-f199fb9b701b"


def _create_ssh_key(client: VerdaClient, name: str, public_key: str) -> str:
Expand Down
15 changes: 12 additions & 3 deletions src/dstack/_internal/core/models/configurations.py
Original file line number Diff line number Diff line change
Expand Up @@ -487,9 +487,18 @@ class BaseRunConfiguration(CoreModel):
Optional[str],
Field(description="The run name. If not specified, a random name is generated"),
] = None
image: Annotated[Optional[str], Field(description="The name of the Docker image to run")] = (
None
)
image: Annotated[
Optional[str],
Field(
description=(
"The name of the Docker image to run."
" If no `image` is specified, `dstack` uses an Ubuntu 24.04-based Docker image that comes pre-configured"
" with `uv`, `python`, `pip`, the CUDA 13.0 runtime, InfiniBand, NCCL, and NCCL tests."
" It may also include provider-specific components such as EFA support on AWS."
" For non-Nvidia accelerators or NVidia GPUs unsupported by CUDA 13.0 (e.g. V100, P100), specify a custom Docker image."
)
),
] = None
user: Annotated[
Optional[str],
Field(
Expand Down
2 changes: 1 addition & 1 deletion src/dstack/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@

__version__ = "0.0.0"
__is_release__ = False
docker_base_image = "0.14"
docker_base_image = "0.15"
docker_base_image_ubuntu_version = "24.04"
vm_base_image = "0.14"
4 changes: 2 additions & 2 deletions src/tests/_internal/server/routers/test_runs.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ def get_dev_env_run_plan_dict(
" && tail -f /dev/null"
),
]
image_name = "dstackai/base:0.14-base-ubuntu24.04"
image_name = "dstackai/base:0.15-base-ubuntu24.04"

run_spec = {
"configuration": {
Expand Down Expand Up @@ -397,7 +397,7 @@ def get_dev_env_run_dict(
" && tail -f /dev/null"
),
]
image_name = "dstackai/base:0.14-base-ubuntu24.04"
image_name = "dstackai/base:0.15-base-ubuntu24.04"

return {
"id": run_id,
Expand Down
Loading