Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Run SkyPilot on AWS SageMaker HyperPod with EKS

This example shows how to run SkyPilot on AWS SageMaker HyperPod with EKS.

Prerequisites

  • An existing SageMaker HyperPod with EKS (or you can create one with AWS doc)
  • SkyPilot installed: installation doc
pip install skypilot-nightly[kubernetes]

Connect to HyperPod cluster

  1. Get your EKS cluster name and region from the SageMaker HyperPod console.
aws eks update-kubeconfig --name $EKS_CLUSTER_NAME --region $EKS_REGION
  1. Connect SkyPilot to the cluster.
sky check k8s

If you are using it with SkyPilot for the first time, you may see a hint to create GPU labels for your nodes. Follow the instructions to create the labels.

sky gpus label

Note: This command currently only supports NVIDIA GPUs.

Find available GPUs

sky gpus list --cloud k8s

Launch a SkyPilot cluster for interactive dev

sky launch -c dev --gpus A10G

This launches a SkyPilot cluster with a single A10G GPU, and you can use it as a interactive dev environment by sshing into it or connecting to it with VSCode.

ssh dev

Run a distributed training job

sky launch -c train train.yaml

This will launch a distributed training job with 2 nodes on the HyperPod cluster. You can check the logs with:

sky logs train

To terminate the SkyPilot cluster, you can run:

sky down train

Start many jobs

You can start many jobs to run them in parallel. See this doc for more details.

for i in {1..10}; do
    sky jobs launch -n job-$i train.yaml --async
done

This will launch 10 distributed training jobs on the HyperPod cluster, with automatic recovery. You can check the status of all jobs with:

sky jobs queue

Or, find the jobs in a dashboard:

sky dashboard