Skip to content

[raycicmd] add gpu-large-flex runner queue mapping - #509

Merged
elliot-barn merged 1 commit into
mainfrom
elliot-barn/gpu-large-flex-queue
Oct 18, 2026
Merged

elliot-barn merged 1 commit into
mainfrom
elliot-barn/gpu-large-flex-queue

Conversation

@elliot-barn

Copy link
Copy Markdown
Collaborator

Summary

Adds instance_type: gpu-large-flex to the branch and PR built-in configs:

rayci instance_type branch queue PR queue
gpu-large-flex gpu_large_flex_runner_queue_branch gpu_large_flex_runner_queue_pr

The queue is created in ray-project/reef#286. It's a 4-GPU queue that accepts g6.12xlarge,g5.12xlarge,g6.24xlarge,g6e.12xlarge (On-Demand, tried in that order). The goal is that llm gpu tests still get machines when g6.12xlarge runs out. On 2026-10-15, g6_large_runner_queue_pr had 0 of 30 desired instances, and launches were failing with InsufficientInstanceCapacity in all 4 us-west-2 AZs.

The rest of the PR-config diff is just gofmt re-aligning the map.

Rollout

  1. Apply ray-project/reef#286, which creates the queue.
  2. Merge this PR and cut a rayci release.
  3. In ray, bump .rayciversion and move the llm gpu tests to instance_type: gpu-large-flex.

Merging this PR before step 1 is harmless. A step that uses gpu-large-flex would just sit waiting for agents until the queue exists.

Test plan

  • go build ./..., go test ./raycicmd/

🤖 Generated with Claude Code

Maps instance_type gpu-large-flex to gpu_large_flex_runner_queue_{branch,pr}.
That queue (ray-project/reef#286) is a 4-GPU queue that accepts several
instance types (g6.12xlarge, g5.12xlarge, g6.24xlarge, g6e.12xlarge), so
jobs still get machines when g6.12xlarge is out of capacity in every AZ.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Ray CI Test <rayci@ray.io>

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds a new runner queue configuration for gpu-large-flex in both the branch pipeline configuration (gpu_large_flex_runner_queue_branch) and the pull request pipeline configuration (gpu_large_flex_runner_queue_pr) within raycicmd/builtin_configs.go. There are no review comments, and I have no feedback to provide.

@elliot-barn
elliot-barn marked this pull request as ready for review October 18, 2026 02:12
@elliot-barn
elliot-barn merged commit 0d71d98 into main Oct 18, 2026
2 checks passed
@elliot-barn
elliot-barn deleted the elliot-barn/gpu-large-flex-queue branch October 18, 2026 02:12
elliot-barn added a commit to ray-project/ray that referenced this pull request Oct 19, 2026
0.50.0 adds the gpu-large-flex instance_type mapping (ray-project/rayci#509),
which the llm gpu steps in this PR need. It also picks up the 0.49.0 changes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: elliot-barn <elliot.barnwell@anyscale.com>
elliot-barn added a commit to ray-project/ray that referenced this pull request Oct 20, 2026
## Why are these changes needed?

`llm gpu tests` and `llm custom vllm plugin gpu test` run on `g6-large`,
which allows only `g6.12xlarge`. On 2026-10-15 the premerge queue
(`g6_large_runner_queue_pr`) had 0 of 30 desired instances. Between
19:22 and 21:07 UTC it logged 99 `InsufficientInstanceCapacity` launch
failures, spread evenly over all 4 us-west-2 AZs. The queue was already
multi-AZ, so the problem was the single instance type.

This PR moves both steps to the new `gpu-large-flex` queue. It's 4 GPUs
with 24GB+ each, and the types are tried in order:

| Priority | Type | GPUs |
|---|---|---|
| 1 | g6.12xlarge | 4× L4 (same as today) |
| 2 | g5.12xlarge | 4× A10G |
| 3 | g6.24xlarge | 4× L4, more CPU/RAM |
| 4 | g5.24xlarge | 4× A10G, more CPU/RAM |
| 5 | g6e.12xlarge | 4× L40S |
| 6 | g6e.24xlarge | 4× L40S, more CPU/RAM |

`llm gpu tests (4 GPUs)` stays on `gpu-large` (g4dn.12xlarge) for now.

`omni_audio_example.py` and `vlm_video_example.py` (run by `llm gpu
tests`) asked for `accelerator_type="L4"` in the config they actually
run. That would hang on A10G/L40S hosts, so this PR removes it from
`create_omni_audio_config()` and `create_vlm_video_config()`. The doc
snippets still show the L4 example.

## Depends on

- [x] ray-project/reef#286 (+ #287): creates
`gpu_large_flex_runner_queue_{branch,pr}` with 6 instance types. Applied
and merged.
- [x] ray-project/rayci#509: adds the `gpu-large-flex` instance_type
mapping. Released in rayci v0.50.0, and `.rayciversion` is bumped to
0.50.0 in this PR (this also picks up the v0.49.0 changes).

## Test plan

- [x] Smoke test on the new queues (reef-test-pipeline build 3): pr got
a g5.12xlarge and branch got a g5.24xlarge. Both had 4× A10G and
`nvidia-smi` passed.

- [x] Both steps pass on premerge ([build
75126](https://buildkite.com/ray-project/premerge/builds/75126)):

| Step | Instance | Wait | Run | g6-large, last 14 days (p50 wait / p50
run) |
|---|---|---|---|---|
| `llm gpu tests` | g5.24xlarge (4× A10G) | 1.8 min | 112.5 min | 675
min / 98.5 min |
| `llm custom vllm plugin gpu test` | g5.24xlarge (4× A10G) | 1.7 min |
17.3 min | 717 min / 15.6 min |

On A10G the tests run about 11–14% longer. The median wait drops from
about 11 hours to under 2 minutes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Signed-off-by: elliot-barn <elliot.barnwell@anyscale.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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

Successfully merging this pull request may close these issues.

1 participant