diff --git a/pyproject.toml b/pyproject.toml index a660d9f66..6eb21538f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,7 +32,7 @@ dependencies = [ "python-multipart>=0.0.16", "filelock", "psutil", - "gpuhunt==0.1.12", + "gpuhunt==0.1.13", "argcomplete>=3.5.0", "ignore-python>=0.2.0", "orjson", diff --git a/src/dstack/_internal/core/backends/runpod/api_client.py b/src/dstack/_internal/core/backends/runpod/api_client.py index b38254a6f..40b607aaf 100644 --- a/src/dstack/_internal/core/backends/runpod/api_client.py +++ b/src/dstack/_internal/core/backends/runpod/api_client.py @@ -3,6 +3,7 @@ from typing import Any, Dict, List, Optional import requests +from gpuhunt.providers.runpod import RunpodProvider from requests import Response from dstack._internal.core.errors import BackendError, BackendInvalidCredentialsError @@ -475,6 +476,8 @@ def _generate_pod_deployment_mutation( ) input_fields.append(f"allowedCudaVersions: [{allowed_cuda_versions_string}]") + input_fields.append(f'minCudaVersion: "{RunpodProvider.MIN_CUDA_VERSION}"') + pod_deploy = "podFindAndDeployOnDemand" if bid_per_gpu is None else "podRentInterruptable" # Format input fields input_string = ", ".join(input_fields) @@ -597,6 +600,8 @@ def _generate_create_cluster_mutation( ports = ports.replace(" ", "") input_fields.append(f'ports: "{ports}"') + input_fields.append(f'minCudaVersion: "{RunpodProvider.MIN_CUDA_VERSION}"') + # Format input fields input_string = ", ".join(input_fields) return f"""