homelab: runpod-lazy v5.3 CUDA driver version filter
| @@ -38,6 +38,9 @@ DATACENTERS = [d for d in os.environ.get('DATACENTERS', '').split(',') if d] | |||
| 38 | CLOUD_TYPE = os.environ.get('CLOUD_TYPE', 'SECURE') | 38 | CLOUD_TYPE = os.environ.get('CLOUD_TYPE', 'SECURE') |
| 39 | IMAGE = os.environ.get('IMAGE', 'ghcr.io/permissionbrick/comfyui-runpod-worker:latest') | 39 | IMAGE = os.environ.get('IMAGE', 'ghcr.io/permissionbrick/comfyui-runpod-worker:latest') |
| 40 | GPU_TYPES = os.environ.get('GPU_TYPES', 'NVIDIA RTX 6000 Ada Generation,NVIDIA L40S,NVIDIA L40,NVIDIA RTX A6000,NVIDIA A40').split(',') | 40 | GPU_TYPES = os.environ.get('GPU_TYPES', 'NVIDIA RTX 6000 Ada Generation,NVIDIA L40S,NVIDIA L40,NVIDIA RTX A6000,NVIDIA A40').split(',') |
| 41 | # The worker image runs the cu12.8 runtime; hosts with older drivers fail at | ||
| 42 | # sampling time with "CUDA driver version is insufficient" (host lottery). | ||
| 43 | CUDA_VERSIONS = [v for v in os.environ.get('CUDA_VERSIONS', '12.8,12.9,13.0').split(',') if v] | ||
| 41 | POD_NAME = os.environ.get('POD_NAME', 'comfyui-lazy') | 44 | POD_NAME = os.environ.get('POD_NAME', 'comfyui-lazy') |
| 42 | START_TIMEOUT = int(os.environ.get('START_TIMEOUT', '1500')) | 45 | START_TIMEOUT = int(os.environ.get('START_TIMEOUT', '1500')) |
| 43 | HF_TOKEN = os.environ.get('HF_TOKEN', '') | 46 | HF_TOKEN = os.environ.get('HF_TOKEN', '') |
| @@ -176,6 +179,8 @@ def create_pod(values, datacenters=None): | |||
| 176 | } | 179 | } |
| 177 | if datacenters: | 180 | if datacenters: |
| 178 | body['dataCenterIds'] = datacenters | 181 | body['dataCenterIds'] = datacenters |
| 182 | if CUDA_VERSIONS: | ||
| 183 | body['allowedCudaVersions'] = CUDA_VERSIONS | ||
| 179 | pod = api('POST', '/pods', body) | 184 | pod = api('POST', '/pods', body) |
| 180 | log(f"pod created: {pod['id']} models={values_key(values) or 'legacy-all'} {pod.get('machine', {}).get('gpuTypeId')} ${pod.get('costPerHr')}/hr dc={pod.get('machine', {}).get('dataCenterId') or (','.join(datacenters) if datacenters else 'any')}") | 185 | log(f"pod created: {pod['id']} models={values_key(values) or 'legacy-all'} {pod.get('machine', {}).get('gpuTypeId')} ${pod.get('costPerHr')}/hr dc={pod.get('machine', {}).get('dataCenterId') or (','.join(datacenters) if datacenters else 'any')}") |
| 181 | return pod['id'], pod.get('machine', {}).get('gpuTypeId') | 186 | return pod['id'], pod.get('machine', {}).get('gpuTypeId') |