Skip to content

perf(amd): run BasicVSR++ through validated MIGraphX B1 artifacts - #458

Open
spicystrippresident wants to merge 62 commits into
Kruk2:mainfrom
spicystrippresident:feature/main-r6-11-basicvsrpp-migraphx
Open

spicystrippresident wants to merge 62 commits into
Kruk2:mainfrom
spicystrippresident:feature/main-r6-11-basicvsrpp-migraphx

Conversation

@spicystrippresident

Copy link
Copy Markdown

Summary

Add a bounded B1 restoration implementation, artifact builder/probe, and strict validation of model/source/runtime/extension identity. Distinguish the selected Torch-MIGraphX binary from another already loaded extension.

Behavior and use

JASNA_BASICVSRPP_MIGRAPHX_B1 requests the route; JASNA_BASICVSRPP_MIGRAPHX_B1_DIR selects its artifact directory. Use the included builder/probe only with matching model and runtime identities.

Direct prerequisites and merge scope

Cumulative upstream-main PR: this is feature 13/26. The current GitHub diff also includes 12 earlier review-stack features, not only the feature named in the title. All PRs are published together at the contributor's request. Do not merge this cumulative head before the included predecessors; after they land, rebase and rerun affected checks to reduce the upstream diff to the owned feature.

Feature-only parent-to-head review diff

Feature-owned paths: 10; review baseline: bc14b746deb7d4450585ee76fdb6cac2e32928e1; head: e4a717ff12c8bf02cdef2b9a46c305eec3c459b3. Existing CPU/native evidence limits remain unchanged.

Other included stack predecessor PRs (merge/rebase order)

Upstream baseline: 81dc8b053fb317c063390daab1dab8289c2094df.

Publication policy updated 2026-10-04: all 26 PRs may be open together with explicit prerequisites. This supersedes the earlier wait-to-submit notes in the prepared guides, not their validation or support limits.

Documentation

Validation

The runtime/build files remain byte-identical to the preceding accepted prefix. The only source-stack test update imports two existing engine-path helpers directly, with no assertion changes.

Current bilingual combined-stack CPU regression was rerun: 3141 passed, 225 skipped, 178 subtests passed. These totals describe the combined stack, not this PR independently.

All 26 exact-parent patches replay to their declared trees, and ordinary merges reconstruct the exact bilingual collection. Every feature has both language guides; documentation links and dependency coverage are checked. No real-video/GPU workload is run for this documentation/submission update.

Windows SDK/native asset rebuilding, whole-card telemetry, and real-hardware A/B are WAIVED_BY_USER_NOT_RUN, not PASS. Historical Linux native evidence is tied to its recorded baseline; untested Windows/NVIDIA/LTX and paid-model AMD paths are not certified.

Limits

A native event/illegal-memory-access failure must propagate with its original cause. Do not silently switch to CPU, skip restoration, or reuse an artifact merely because its filename matches.

No private protection source, activation credentials, model weights, generated media, installed runtimes, or user configuration is included. rocDecode is not reintroduced.

中文說明 / Chinese

摘要

加入有界 B1 修復實作、產物建置/探測,以及模型/源碼/runtime/擴充庫身分嚴格驗證。區分選定的 Torch-MIGraphX 二進位與已載入的其他擴充庫。

使用方式

JASNA_BASICVSRPP_MIGRAPHX_B1 請求此路線,JASNA_BASICVSRPP_MIGRAPHX_B1_DIR 指定產物目錄。附帶建置/探測工具必須使用匹配的模型與 runtime 身分。

直接前置與合併範圍

對上游 main 的累計 PR:本項為第 13/26 項,目前 GitHub 差異還包含較早的 12 項審查栈功能,不只標題所指功能。依使用者要求先同時提交全部 PR。請勿在列出的前置落地前直接合併此累計 head;前置合併後需 rebase 並重跑受影響檢查,將上游差異收斂至本功能。

僅本功能的 parent-to-head 審查差異

本功能所屬路徑 10 個;審查基準 bc14b746deb7d4450585ee76fdb6cac2e32928e1,head e4a717ff12c8bf02cdef2b9a46c305eec3c459b3。既有 CPU/原生驗收限制不變。

另外累計包含的較早 PR(合併/rebase 順序)

英文為預設文件及 PR 主文,中文為對應版本。

2026-10-04 提交策略更新:26 項 PR 可先同時開放,說明中列清楚前置;取代準備文件中的先等待再提交策略,不改變驗收/支援限制。

驗證

Runtime/建置程式與先前接受的前綴逐位元相同。源碼栈唯一測試更新是兩處直接匯入既有引擎路徑工具,沒有更改斷言。

目前雙語整合集合重新通過 CPU 全量回歸:3141 passed, 225 skipped, 178 subtests passed。這是集合結果,不是單項 PR 的全量结果。

26 份精確 parent 補丁及普通合併均重建相同集合;每項都有中英文指南,連結與依賴覆蓋已檢查。本次不跑真實影片/GPU。Windows SDK/原生資產重建、全卡遙測、實機 A/B 為 WAIVED_BY_USER_NOT_RUN,不算 PASS;其他未測平台/格式仍未認證。

限制

原生事件/非法記憶體存取失敗必須保留根因並傳遞。不能靜默切到 CPU、跳過修復,或僅憑檔名相同就重用產物。

不包含私有授權源碼、啟用憑證、模型權重、生成媒體、已安裝 runtime 或使用者設定,不恢復 rocDecode。

Kruk2 added 30 commits September 28, 2026 13:12
… OSes

ROCm 10.0.0 (stable, 2026-08-26) publishes torch 2.12.0 and torchvision
0.27.0 cp312 wheels for Windows and Linux on
https://stable.repo.amd.com/rocm/whl-next/ with per-GPU kernel packs for
gfx1100-gfx1103, gfx1150/gfx1151 and gfx1200/gfx1201, so the Radeon 780M
(gfx1103) gets kernels alongside every target the ROCm 7.2.1 build had.

Both OSes now share one torch/torchvision pin, the Windows setup installs
the same kernel packs as the Linux image keeps, and the README names the
Adrenalin 26.8.1 driver ROCm 10 needs on Windows. The protection bump
moves the Linux image to ROCm 10 and bundles the ROCm payload on Linux.

Refs Kruk2#408
Bundle application and dependency license texts, record exact source and model correspondence, and include the legal payload in frozen builds.\n\nDocument the private protection source as the sole reproducibility exception.
18.1.0 contains the current-CUDA-context and explicit NVENC stream
changes the release builds compiled from a pinned PyAV commit. Pin it
exactly because the VALI release wheel links the same pyav-ffmpeg
8.1.2-1 libraries. Drop cython/delvewheel from the dev extra; only the
PyAV rebuild used them.
Patch releases within the 2.12 line that torch-tensorrt 2.12.0 accepts;
the dev environment already runs them.
Also records the protection commit that fixes the release scripts' modes.
Show where supporter keys are sold in the system-check wizard and in the
license dialog, and give translated messages for keys that are not
accepted.
Newer versions load a new checkpoint file name, so older versions keep
downloading the file they expect. The download skips the old file so
users fetch only the checkpoint this version needs.
Keep downloaded models usable after upgrading.
Explain activation failures and update supporter documentation.
…el-name ltx)

Inference-only restorer for the fine-tuned LTX-2.5 model, run in phased passes
with one model on the GPU at a time: scan (detect, cuts, plan) -> VAE encode
-> denoise -> decode + composite + encode.

- jasna/ltx: track planning with one zooming follow camera per track and
  121-frame windows at hop 88; video-only transformer port with prequantized
  INT8 ConvRot linears; lockstep sampler with overlap fusion and shared-prefix
  STG; block streaming from pinned RAM for low-VRAM GPUs; GPU crop/composite.
- jasna/models/ltx_vae: vendored pure-PyTorch subset of the ltx-core video VAE
  (causal encoder, single-step diffusion decoder, tiled decode).
- CLI: --restoration-model-name ltx, --ltx-large-canvas, --ltx-seed;
  --restoration-model-path now defaults per model.
- Licensing: LTX-2.x Community License text and notices.
Use shared model loading for all LTX components and report missing
access before engine setup. Clarify model access after app updates.
--ltx-fast uses an NVFP4 model on RTX 50-series GPUs. SageAttention, torch.compile and NATTEN are used when installed.
Sigma schedule and STG scale come from the file's metadata; STG 0 skips the perturbed pass.
…e warning

Progress advances after every sampler step, and the Hadamard matrix is built directly so Dynamo no longer warns.
Standard and LTX cards plus seed, fast mode and sharper large mosaics options. LTX is disabled without an NVIDIA GPU or its model files.
Segments without one follow the job's model, and overlapping ranges are split by the later one. Each LTX segment is planned from its own frames and all LTX spans run in one batch.
Each LTX pass reports its share of the run and the time left; the control bar shows the pass name in place of the FPS.
Kruk2 and others added 18 commits September 29, 2026 19:01
A Model menu picks distilled or undistilled. A missing model is offered for download with its size and blocks Start until done. One download worker now serves SD 1.5 and LTX.
…ense

LtxModelFiles.placeholder() serves seeded random tensors with the real names, shapes and dtypes (jasna/ltx/trial_shapes.py), so every pass runs as in a real job. The output is not restored.
A "Trial run" switch runs LTX with placeholder weights to test speed. It is forced on when no LTX model is installed and offered at Start when a license is missing.
Include English-first and Chinese feature guides.
Include English-first and Chinese feature guides.
Include English-first and Chinese feature guides.
Include English-first and Chinese feature guides.
Include English-first and Chinese feature guides.
Include English-first and Chinese feature guides.
Include English-first and Chinese feature guides.
Include English-first and Chinese feature guides.
Include English-first and Chinese feature guides.
Include English-first and Chinese feature guides.
Include English-first and Chinese feature guides.
Include English-first and Chinese feature guides.
Include English-first and Chinese feature guides.
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.

2 participants