dstack 0.19.22__py3-none-any.whl → 0.19.23rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dstack might be problematic. Click here for more details.
- dstack/_internal/core/backends/nebius/compute.py +8 -2
- dstack/_internal/core/backends/nebius/fabrics.py +1 -0
- dstack/_internal/core/backends/nebius/resources.py +9 -0
- dstack/version.py +1 -1
- {dstack-0.19.22.dist-info → dstack-0.19.23rc1.dist-info}/METADATA +3 -3
- {dstack-0.19.22.dist-info → dstack-0.19.23rc1.dist-info}/RECORD +9 -9
- {dstack-0.19.22.dist-info → dstack-0.19.23rc1.dist-info}/WHEEL +0 -0
- {dstack-0.19.22.dist-info → dstack-0.19.23rc1.dist-info}/entry_points.txt +0 -0
- {dstack-0.19.22.dist-info → dstack-0.19.23rc1.dist-info}/licenses/LICENSE.md +0 -0
|
@@ -74,6 +74,7 @@ SETUP_COMMANDS = [
|
|
|
74
74
|
SUPPORTED_PLATFORMS = [
|
|
75
75
|
"gpu-h100-sxm",
|
|
76
76
|
"gpu-h200-sxm",
|
|
77
|
+
"gpu-b200-sxm",
|
|
77
78
|
"gpu-l40s-a",
|
|
78
79
|
"gpu-l40s-d",
|
|
79
80
|
"cpu-d3",
|
|
@@ -150,12 +151,16 @@ class NebiusCompute(
|
|
|
150
151
|
)
|
|
151
152
|
if backend_data.cluster is not None:
|
|
152
153
|
cluster_id = backend_data.cluster.id
|
|
154
|
+
|
|
155
|
+
gpus = instance_offer.instance.resources.gpus
|
|
153
156
|
create_disk_op = resources.create_disk(
|
|
154
157
|
sdk=self._sdk,
|
|
155
158
|
name=instance_name,
|
|
156
159
|
project_id=self._region_to_project_id[instance_offer.region],
|
|
157
160
|
size_mib=instance_offer.instance.resources.disk.size_mib,
|
|
158
|
-
image_family="
|
|
161
|
+
image_family="ubuntu24.04-cuda12"
|
|
162
|
+
if gpus and gpus[0].name == "B200"
|
|
163
|
+
else "ubuntu22.04-cuda12",
|
|
159
164
|
)
|
|
160
165
|
create_instance_op = None
|
|
161
166
|
try:
|
|
@@ -180,6 +185,7 @@ class NebiusCompute(
|
|
|
180
185
|
cluster_id=cluster_id,
|
|
181
186
|
disk_id=create_disk_op.resource_id,
|
|
182
187
|
subnet_id=self._get_subnet_id(instance_offer.region),
|
|
188
|
+
preemptible=instance_offer.instance.resources.spot,
|
|
183
189
|
)
|
|
184
190
|
_wait_for_instance(self._sdk, create_instance_op)
|
|
185
191
|
except BaseException:
|
|
@@ -367,4 +373,4 @@ def _wait_for_instance(sdk: SDK, op: SDKOperation[Operation]) -> None:
|
|
|
367
373
|
|
|
368
374
|
def _supported_instances(offer: InstanceOffer) -> bool:
|
|
369
375
|
platform, _ = offer.instance.name.split()
|
|
370
|
-
return platform in SUPPORTED_PLATFORMS
|
|
376
|
+
return platform in SUPPORTED_PLATFORMS
|
|
@@ -21,6 +21,7 @@ INFINIBAND_FABRICS = [
|
|
|
21
21
|
InfinibandFabric("fabric-6", "gpu-h100-sxm", "eu-north1"),
|
|
22
22
|
InfinibandFabric("fabric-7", "gpu-h200-sxm", "eu-north1"),
|
|
23
23
|
InfinibandFabric("us-central1-a", "gpu-h200-sxm", "us-central1"),
|
|
24
|
+
InfinibandFabric("us-central1-b", "gpu-b200-sxm", "us-central1"),
|
|
24
25
|
]
|
|
25
26
|
|
|
26
27
|
|
|
@@ -28,10 +28,12 @@ from nebius.api.nebius.compute.v1 import (
|
|
|
28
28
|
GpuClusterSpec,
|
|
29
29
|
Instance,
|
|
30
30
|
InstanceGpuClusterSpec,
|
|
31
|
+
InstanceRecoveryPolicy,
|
|
31
32
|
InstanceServiceClient,
|
|
32
33
|
InstanceSpec,
|
|
33
34
|
IPAddress,
|
|
34
35
|
NetworkInterfaceSpec,
|
|
36
|
+
PreemptibleSpec,
|
|
35
37
|
PublicIPAddress,
|
|
36
38
|
ResourcesSpec,
|
|
37
39
|
SourceImageFamily,
|
|
@@ -283,6 +285,7 @@ def create_instance(
|
|
|
283
285
|
cluster_id: Optional[str],
|
|
284
286
|
disk_id: str,
|
|
285
287
|
subnet_id: str,
|
|
288
|
+
preemptible: bool,
|
|
286
289
|
) -> SDKOperation[Operation]:
|
|
287
290
|
client = InstanceServiceClient(sdk)
|
|
288
291
|
request = CreateInstanceRequest(
|
|
@@ -306,6 +309,12 @@ def create_instance(
|
|
|
306
309
|
public_ip_address=PublicIPAddress(static=True),
|
|
307
310
|
)
|
|
308
311
|
],
|
|
312
|
+
preemptible=PreemptibleSpec(
|
|
313
|
+
priority=1, on_preemption=PreemptibleSpec.PreemptionPolicy.STOP
|
|
314
|
+
)
|
|
315
|
+
if preemptible
|
|
316
|
+
else None,
|
|
317
|
+
recovery_policy=InstanceRecoveryPolicy.FAIL if preemptible else None,
|
|
309
318
|
),
|
|
310
319
|
)
|
|
311
320
|
with wrap_capacity_errors():
|
dstack/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dstack
|
|
3
|
-
Version: 0.19.
|
|
3
|
+
Version: 0.19.23rc1
|
|
4
4
|
Summary: dstack is an open-source orchestration engine for running AI workloads on any cloud or on-premises.
|
|
5
5
|
Project-URL: Homepage, https://dstack.ai
|
|
6
6
|
Project-URL: Source, https://github.com/dstackai/dstack
|
|
@@ -73,7 +73,7 @@ Requires-Dist: grpcio>=1.50; extra == 'all'
|
|
|
73
73
|
Requires-Dist: httpx; extra == 'all'
|
|
74
74
|
Requires-Dist: jinja2; extra == 'all'
|
|
75
75
|
Requires-Dist: kubernetes; extra == 'all'
|
|
76
|
-
Requires-Dist: nebius<0.3,>=0.2.
|
|
76
|
+
Requires-Dist: nebius<0.3,>=0.2.40; (python_version >= '3.10') and extra == 'all'
|
|
77
77
|
Requires-Dist: oci>=2.150.0; extra == 'all'
|
|
78
78
|
Requires-Dist: prometheus-client; extra == 'all'
|
|
79
79
|
Requires-Dist: pyopenssl>=23.2.0; extra == 'all'
|
|
@@ -259,7 +259,7 @@ Requires-Dist: fastapi; extra == 'nebius'
|
|
|
259
259
|
Requires-Dist: grpcio>=1.50; extra == 'nebius'
|
|
260
260
|
Requires-Dist: httpx; extra == 'nebius'
|
|
261
261
|
Requires-Dist: jinja2; extra == 'nebius'
|
|
262
|
-
Requires-Dist: nebius<0.3,>=0.2.
|
|
262
|
+
Requires-Dist: nebius<0.3,>=0.2.40; (python_version >= '3.10') and extra == 'nebius'
|
|
263
263
|
Requires-Dist: prometheus-client; extra == 'nebius'
|
|
264
264
|
Requires-Dist: python-dxf==12.1.0; extra == 'nebius'
|
|
265
265
|
Requires-Dist: python-json-logger>=3.1.0; extra == 'nebius'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
dstack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
dstack/version.py,sha256=
|
|
2
|
+
dstack/version.py,sha256=jL9BbKRLGqK7kARA-DE4jWDe8OMTz0JS4S5EtDB8BwA,105
|
|
3
3
|
dstack/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
dstack/_internal/compat.py,sha256=bF9U9fTMfL8UVhCouedoUSTYFl7UAOiU0WXrnRoByxw,40
|
|
5
5
|
dstack/_internal/settings.py,sha256=FYtd7tRk17Oc62Kl_3O8NuT5JHb8TKhLThl1TsfjjVs,1390
|
|
@@ -123,11 +123,11 @@ dstack/_internal/core/backends/local/backend.py,sha256=KJuNXUXrg60NhLywnExD1EXH2
|
|
|
123
123
|
dstack/_internal/core/backends/local/compute.py,sha256=-FUD8Ii5VTBtygAV1U3k1j10MFdK1whGvrSeRwTk29Y,3788
|
|
124
124
|
dstack/_internal/core/backends/nebius/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
125
125
|
dstack/_internal/core/backends/nebius/backend.py,sha256=2XqZIbSR8VzlfOnuVklXlDxNmwAkQj7txQN8VXF1j2E,566
|
|
126
|
-
dstack/_internal/core/backends/nebius/compute.py,sha256=
|
|
126
|
+
dstack/_internal/core/backends/nebius/compute.py,sha256=87etdeEaFjfOITJnPjvf0KYD8IrvNTdYRefwhxWYxZA,14951
|
|
127
127
|
dstack/_internal/core/backends/nebius/configurator.py,sha256=ML2KCD6Ddxc2f6X1juxqKulUcOjF6uJk20_0Teyi65A,3072
|
|
128
|
-
dstack/_internal/core/backends/nebius/fabrics.py,sha256
|
|
128
|
+
dstack/_internal/core/backends/nebius/fabrics.py,sha256=-X-nSPV2pUin2PAYDHGm-j14KPboIFRpLi93PKHUXTM,1616
|
|
129
129
|
dstack/_internal/core/backends/nebius/models.py,sha256=UudYX32p-ZY-GWR83VEtY5dpZBaWhKXQIfn2nrBCq-4,4245
|
|
130
|
-
dstack/_internal/core/backends/nebius/resources.py,sha256=
|
|
130
|
+
dstack/_internal/core/backends/nebius/resources.py,sha256=F4XqayzZ3VaDryqwtHRykMpDoTSrNK7JU0iMzY8WDmo,12502
|
|
131
131
|
dstack/_internal/core/backends/oci/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
132
132
|
dstack/_internal/core/backends/oci/auth.py,sha256=8Cr18y_LOsyRP-16yfFpT70Cofpm0clB3KawS_7aRl4,717
|
|
133
133
|
dstack/_internal/core/backends/oci/backend.py,sha256=yXjVCt7n6BVLH0byYFbNFf-P9J0FwlNfxsYbKGMdoI4,536
|
|
@@ -640,8 +640,8 @@ dstack/plugins/builtin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
|
|
|
640
640
|
dstack/plugins/builtin/rest_plugin/__init__.py,sha256=lgTsq8Z6Km2F2UhPRChVB4vDM5ZpWtdk1iB1aa20ypA,440
|
|
641
641
|
dstack/plugins/builtin/rest_plugin/_models.py,sha256=9hgVuU6OGSxidar88XhQnNo9izYWeQvVH45ciErv-Es,1910
|
|
642
642
|
dstack/plugins/builtin/rest_plugin/_plugin.py,sha256=iv8TmQh959iEUZjCFTzmGnFW8fHukTVpPmD4iBzOfS4,5361
|
|
643
|
-
dstack-0.19.
|
|
644
|
-
dstack-0.19.
|
|
645
|
-
dstack-0.19.
|
|
646
|
-
dstack-0.19.
|
|
647
|
-
dstack-0.19.
|
|
643
|
+
dstack-0.19.23rc1.dist-info/METADATA,sha256=wbJpVsSqKkPL1IEE_wTKPMjldhsQBgm030QVrEV2o_g,20589
|
|
644
|
+
dstack-0.19.23rc1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
645
|
+
dstack-0.19.23rc1.dist-info/entry_points.txt,sha256=GnLrMS8hx3rWAySQjA7tPNhtixV6a-brRkmal1PKoHc,58
|
|
646
|
+
dstack-0.19.23rc1.dist-info/licenses/LICENSE.md,sha256=qDABaRGjSKVOib1U8viw2P_96sIK7Puo426784oD9f8,15976
|
|
647
|
+
dstack-0.19.23rc1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|