Skip to content

docs(config): disclose legacy device precedence in generation_devices auto copy - #9388

Open
lstein wants to merge 1 commit into
invoke-ai:mainfrom
lstein:lstein/fix/multigpu-auto-devices-copy
Open

docs(config): disclose legacy device precedence in generation_devices auto copy#9388
lstein wants to merge 1 commit into
invoke-ai:mainfrom
lstein:lstein/fix/multigpu-auto-devices-copy

Conversation

@lstein

@lstein lstein commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

Follow-up to #9263, addressing the misleading generation_devices: auto copy deferred in @JPPhoto's 2026-07-25 review:

The schema description, settings label, help text, and configuration table say that generation_devices: auto uses all GPUs, but TorchDevice.get_generation_devices() deliberately resolves it to one device whenever the legacy device setting is pinned. Only a later documentation note discloses the exception.

  • Schema description (config_default.py): now states that auto uses only the pinned legacy device when one is set, and that an explicit list overrides device.
  • Settings UI (en.json): the badge reads "Auto" instead of "Auto (all GPUs)", and the help text explains the legacy-device exception and the override.
  • Configuration guide (invokeai-yaml.mdx): the behavior table row for auto states the exception where the value is introduced, not only in the notes further down.
  • Regenerated docs/src/generated/settings.json, openapi.json, and schema.ts from the description source.

Test

test_auto_copy_documents_legacy_device_precedence asserts all four copy locations (field description, generated settings.json, en.json, docs behavior table) describe the precedence, so the copy cannot silently regress out of sync with get_generation_devices() again. The behavioral test for the resolution itself (test_get_generation_devices_auto_respects_pinned_legacy_device) already exists on #9263.

Merge order

Stacked on #9263 — this branch contains the multi-GPU branch's commits. Draft until #9263 merges; will then rebase onto main and mark ready for review.

Checklist

  • The PR has a short but descriptive title, suitable for a changelog
  • Tests added / updated (if applicable)
  • Documentation added / updated (if applicable)
  • Updated What's New copy (if doing a release after this PR)

🤖 Generated with Claude Code

@github-actions github-actions Bot added api python PRs that change python files invocations PRs that change invocations backend PRs that change backend files services PRs that change app services frontend PRs that change frontend files python-tests PRs that change python tests docs PRs that change docs labels Jul 27, 2026
@lstein lstein added the 6.14.1 label Jul 27, 2026
@lstein lstein moved this to 6.14.1: Bug fixes to 6.14.0 in Invoke - Community Roadmap Jul 28, 2026
@lstein
lstein force-pushed the lstein/fix/multigpu-auto-devices-copy branch from 51d25a1 to 4ab4d84 Compare July 29, 2026 22:39
@lstein

lstein commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator Author

Rebased cleanly onto the current #9263 head (272a2ef2ea); 56 config/device tests green.

… auto copy

The schema description, Settings UI copy, and configuration guide's
behavior table all said `generation_devices: auto` uses every available
GPU, but TorchDevice.get_generation_devices() deliberately resolves it to
the single pinned legacy `device` when one is set — only a later docs
note disclosed the exception. An upgraded install with `device: cuda:1`
displayed "Auto (all GPUs)" while starting one worker.

- config_default.py: the field description now states the precedence
  (and that an explicit list overrides `device`).
- Settings UI: the badge is "Auto" (not "Auto (all GPUs)") and the help
  text explains the legacy-device exception and the override.
- invokeai-yaml.mdx: the behavior table row for `auto` states the
  exception where the value is introduced, not only in the notes.
- Regenerated docs/src/generated/settings.json, openapi.json, schema.ts
  from the description source.
- New test asserts all four copy locations describe the precedence.

Follow-up to PR invoke-ai#9263 (JPPhoto review, 2026-07-25).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lstein
lstein force-pushed the lstein/fix/multigpu-auto-devices-copy branch from 4ab4d84 to 0878863 Compare July 30, 2026 01:18
@lstein
lstein marked this pull request as ready for review July 30, 2026 01:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.14.1 api backend PRs that change backend files docs PRs that change docs frontend PRs that change frontend files invocations PRs that change invocations python PRs that change python files python-tests PRs that change python tests services PRs that change app services

Projects

Status: 6.14.1: Bug fixes to 6.14.0

Development

Successfully merging this pull request may close these issues.

2 participants