# Karpenter NodePool definition: p5.48xlarge (GPU compute, 8x NVIDIA H100 80GB SXM5)
# Used by: l-x86iamx-22-225-h100, l-x86iamx-44-450-h100-2, l-x86iamx-88-900-h100-4
# Capacity: AWS Capacity Blocks (reserved)
# Node disk: 1000Gi root volume — NVMe instance storage (8x3840GB) handles container data
nodepool:
  name: p5-48xlarge
  instance_type: p5.48xlarge
  arch: amd64
  node_disk_size: 1000
  gpu: true
  has_nvme: true
  # TODO: reintroduce topology constraints when NUMA-aware scheduling is available.
  # 4xH100 jobs are susceptible to TopologyAffinityError as described in
  # https://github.com/pytorch/ci-infra/issues/696.
  # topology_manager_policy: single-numa-node
  # topology_manager_scope: pod
  capacity_type: reserved
  # capacity_reservation_ids are cluster-specific (different reservations in
  # us-east-2 vs us-west-1) and live under clusters.<id>.nodepools-h100 in
  # clusters.yaml. The generator merges them in at deploy time.
  baremetal: true
  user_data_script: scripts/h100-node-setup.sh
