Skip to content

Commit 9c51df8

Browse files
authored
Support A4 instances with the B200 GPU on GCP (#3100)
This implementation allows provisioning both individual A4 instances and clusters, but clusters do not yet support high-speed networking, since it requires a [different network setup](https://cloud.google.com/ai-hypercomputer/docs/create/create-vm#setup-network).
1 parent ef698be commit 9c51df8

File tree

4 files changed

+7
-2
lines changed

4 files changed

+7
-2
lines changed

src/dstack/_internal/core/backends/base/offers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
SUPPORTED_GPUHUNT_FLAGS = [
2323
"oci-spot",
2424
"lambda-arm",
25+
"gcp-a4",
2526
]
2627

2728

src/dstack/_internal/core/backends/gcp/compute.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -867,8 +867,8 @@ def _has_gpu_quota(quotas: Dict[str, float], resources: Resources) -> bool:
867867
gpu = resources.gpus[0]
868868
if _is_tpu(gpu.name):
869869
return True
870-
if gpu.name == "H100":
871-
# H100 and H100_MEGA quotas are not returned by `regions_client.list`
870+
if gpu.name in ["B200", "H100"]:
871+
# B200, H100 and H100_MEGA quotas are not returned by `regions_client.list`
872872
return True
873873
quota_name = f"NVIDIA_{gpu.name}_GPUS"
874874
if gpu.name == "A100" and gpu.memory_mib == 80 * 1024:

src/dstack/_internal/core/backends/gcp/resources.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
DSTACK_GATEWAY_TAG = "dstack-gateway-instance"
2020

2121
supported_accelerators = [
22+
{"accelerator_name": "nvidia-b200", "gpu_name": "B200", "memory_mb": 1024 * 180},
2223
{"accelerator_name": "nvidia-a100-80gb", "gpu_name": "A100", "memory_mb": 1024 * 80},
2324
{"accelerator_name": "nvidia-tesla-a100", "gpu_name": "A100", "memory_mb": 1024 * 40},
2425
{"accelerator_name": "nvidia-l4", "gpu_name": "L4", "memory_mb": 1024 * 24},
@@ -476,5 +477,6 @@ def instance_type_supports_persistent_disk(instance_type_name: str) -> bool:
476477
"n4-",
477478
"h3-",
478479
"v6e",
480+
"a4-",
479481
]
480482
)

src/dstack/_internal/server/background/tasks/common.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@ def get_provisioning_timeout(backend_type: BackendType, instance_type_name: str)
1919
return timedelta(minutes=20)
2020
if backend_type == BackendType.VULTR and instance_type_name.startswith("vbm"):
2121
return timedelta(minutes=55)
22+
if backend_type == BackendType.GCP and instance_type_name == "a4-highgpu-8g":
23+
return timedelta(minutes=16)
2224
return timedelta(minutes=10)

0 commit comments

Comments
 (0)