Add GPU fallback support via unified compute field#65
Open
Conversation
elijah-rou
reviewed
Apr 13, 2026
Contributor
elijah-rou
left a comment
There was a problem hiding this comment.
Yeah same comment as backend, another param seems bloaty here
888b060 to
2a33baf
Compare
compute now accepts either a string or array in the TOML:
compute = "HOPPER_H100"
compute = ["HOPPER_H100", "HOPPER_H200", "AMPERE_A100_80GB"]
First element is primary, rest are fallbacks. CLI normalizes both
forms and sends compute as array to the backend API.
Changes:
- config.go: ComputeRaw (interface{}) for TOML, Compute (*string) unchanged
- loader.go: normalizeCompute() splits string/array into Compute + ComputeFallbacks
- validator.go: validates primary and fallbacks against compute enum
No changes to deploy.go, run.go, or tests — Compute stays *string.
Companion backend PR: CerebriumAI/dashboard-backend#3432
Made-with: Cursor
2a33baf to
b0155a0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
computenow accepts either a string or array in the TOML:First element is the primary GPU, rest are fallbacks. The CLI normalizes both forms and sends
computeas an array (or string) to the backend API. No separatecompute_fallbacksfield exposed to users.Changes (3 files)
config.go:ComputeRaw interface{}for TOML input,Compute *stringunchanged, addedComputeFallbacks []string. Payload sends array when fallbacks present.loader.go:normalizeCompute()splits string/array intoCompute+ComputeFallbacksvalidator.go: Validates primary and all fallbacks against the compute enumNo changes to
deploy.go,run.go,deploy_test.go—Computestays*string, all existing code untouchedBackward compatible
compute = "H100"(string) works exactly as beforeCompanion backend PR: CerebriumAI/dashboard-backend#3432
Test plan
go test ./...)