Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

runpod 4090 spot not available #4265

Open
alita-moore opened this issue Nov 5, 2024 · 4 comments
Open

runpod 4090 spot not available #4265

alita-moore opened this issue Nov 5, 2024 · 4 comments

Comments

@alita-moore
Copy link

Runpod offers 4090 spot on their website, but when I try to reserve it using skypilot it gives me an error:

sky launch -c mycluster hello-sky.yaml --use-spot
Task from YAML spec: hello-sky.yaml
No resource satisfying RunPod([Spot], {'RTX4090': 1}) on RunPod.
sky.exceptions.ResourcesUnavailableError: Catalog does not contain any instances satisfying the request: 1x RunPod([Spot], {'RTX4090': 1}).
To fix: relax or change the resource requirements.

Hint: sky show-gpus to list available accelerators.
      sky check to check the enabled clouds.

Version & Commit info:

@Michaelvll
Copy link
Collaborator

Spot instances are not supported by RunPod yet, as they don't have spot instance support in their APIs yet. Related to #3927

@alita-moore
Copy link
Author

oh cool, will this be added soon?

@kldzj
Copy link

kldzj commented Nov 10, 2024

@Michaelvll
Copy link
Collaborator

@Michaelvll they have support for creating spot instances, see https://docs.runpod.io/sdks/graphql/manage-pods#create-spot-pod and https://graphql-spec.runpod.io/#mutation-podRentInterruptable

@kldzj, thanks for the pointer! They have the spot instance supported in the low-level GraphQL, but not supported with python API we are using yet: runpod/runpod-python#327

See:

new_instance = runpod.runpod.create_pod(
name=name,
image_name=image_name,
gpu_type_id=gpu_type,
cloud_type=cloud_type,
container_disk_in_gb=disk_size,
min_vcpu_count=4 * gpu_quantity,
min_memory_in_gb=gpu_specs['memoryInGb'] * gpu_quantity,
gpu_count=gpu_quantity,
country_code=region,
ports=(f'22/tcp,'
f'{custom_ports_str}'
f'{constants.SKY_REMOTE_RAY_DASHBOARD_PORT}/http,'
f'{constants.SKY_REMOTE_RAY_PORT}/http'),
support_public_ip=True,
docker_args=
f'bash -c \'echo {encoded} | base64 --decode > init.sh; bash init.sh\'')
return new_instance['id']

One option is to change the API we use to GraphQL with HTTP request directly. Would you like to have a try to add it? Any contribution would be super helpful. : )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants