7474SUPPORTED_PLATFORMS = [
7575 "gpu-h100-sxm" ,
7676 "gpu-h200-sxm" ,
77+ "gpu-b200-sxm" ,
7778 "gpu-l40s-a" ,
7879 "gpu-l40s-d" ,
7980 "cpu-d3" ,
@@ -150,12 +151,16 @@ def create_instance(
150151 )
151152 if backend_data .cluster is not None :
152153 cluster_id = backend_data .cluster .id
154+
155+ gpus = instance_offer .instance .resources .gpus
153156 create_disk_op = resources .create_disk (
154157 sdk = self ._sdk ,
155158 name = instance_name ,
156159 project_id = self ._region_to_project_id [instance_offer .region ],
157160 size_mib = instance_offer .instance .resources .disk .size_mib ,
158- image_family = "ubuntu22.04-cuda12" ,
161+ image_family = "ubuntu24.04-cuda12"
162+ if gpus and gpus [0 ].name == "B200"
163+ else "ubuntu22.04-cuda12" ,
159164 )
160165 create_instance_op = None
161166 try :
@@ -180,6 +185,7 @@ def create_instance(
180185 cluster_id = cluster_id ,
181186 disk_id = create_disk_op .resource_id ,
182187 subnet_id = self ._get_subnet_id (instance_offer .region ),
188+ preemptible = instance_offer .instance .resources .spot ,
183189 )
184190 _wait_for_instance (self ._sdk , create_instance_op )
185191 except BaseException :
@@ -367,4 +373,4 @@ def _wait_for_instance(sdk: SDK, op: SDKOperation[Operation]) -> None:
367373
368374def _supported_instances (offer : InstanceOffer ) -> bool :
369375 platform , _ = offer .instance .name .split ()
370- return platform in SUPPORTED_PLATFORMS and not offer . instance . resources . spot
376+ return platform in SUPPORTED_PLATFORMS
0 commit comments