Skip to content

feat: add dense prediction output foundation - #2545

Merged
inureyes merged 5 commits into
mainfrom
feature/issue-2349-dense-prediction
Oct 22, 2026
Merged

inureyes merged 5 commits into
mainfrom
feature/issue-2349-dense-prediction

Conversation

@inureyes

@inureyes inureyes commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Add mlxcel predict with bounded image and video loading, task selection, parsed model options, and a reusable dense-predictor registry.
  • Write f32 safetensors, metadata, keypoints, and map previews while materializing one host tensor at a time and safely replacing only writer-owned artifacts.
  • Port upstream interpolation and shared preprocessing behavior, expose dense runtime/output vocabulary, redirect dense checkpoints from generate, and document the foundation status and model integration contract.
  • Include isolated prerequisite commit 65cb1fdd, which fixes ROCm AsStrided backend dispatch in the pinned MLX overlay so the implementation can compile and run on Linux.

Test plan

  • ROCm cargo test ... vision::dense --no-run
  • Dense module tests on gfx1151 (17 passed)
  • Parsed image and actual ffmpeg video stub CLI tests on gfx1151 (5 filtered tests plus the required non-skipped video rerun passed)
  • Model registry tests (12 passed) and exact parser, redirect, catalog, and video-budget filters
  • Package-scoped ROCm clippy for the library, test code, and mlxcel binary with warnings denied
  • cargo fmt --all -- --check and git diff --check

The full ROCm workspace run completed with 13,299 passed, 9 failed, and 424 ignored tests across 170 targets. The failures are existing ROCm limitations: six native NVFP4 fixtures, two compiled complex-number tests, and one PhiMoE parity tolerance. The PhiMoE relative error is identical (0.022405015) on this branch and the pre-feature baseline 65cb1fdd; the other failures match pre-existing unsupported-backend checks and ROCm JIT implementations. The full suite is not green.

Metal runtime validation was unavailable on this ROCm Linux host.

Closes #2349

The latest MLX pin added backend-specific AsStrided temporary retention, but the ROCm core overlay kept the upstream CUDA-or-Metal dispatch and pulled Metal/Metal.hpp into Linux builds.

Select the ROCm device header and command encoder explicitly, then refresh the overlay provenance records. The ROCm overlay gate and a syntax-only compile of the affected translation unit pass.

Refs #2349
Add the `predict` CLI and shared dense predictor, interpolation, preprocessing, registry, and file-output contracts so upcoming model ports have one integrated path. Bound image and video decoding, stream safetensors tensor materialization, and safely replace only writer-owned output artifacts.

Validate the ROCm compile, focused dense, CLI, and registry tests including real MP4 decoding, clippy with warnings denied, and formatting.

Refs #2349
@inureyes inureyes added status:review Under review type:enhancement New features, capabilities, or significant additions priority:medium Medium priority area:architecture Architecture and code structure changes modeltype:vlm Vision-language model labels Oct 22, 2026
Fix the dense family registration guide so it clearly tells operators that `KNOWN_MODEL_TYPES` redirects accidental `mlxcel generate` use to `mlxcel predict`.

Validation:
- `cargo fmt --all -- --check`
- `git diff --check`
- Python fixture syntax and referenced documentation paths checked

Refs #2349
Keep the PyTorch reference decimals unchanged with a fixture-scoped precision lint allowance, matching the existing scheduler fixtures. CI checks test code in addition to the library and binary, so its wider scope caught these literal-only warnings.

Refs #2349
@inureyes inureyes added status:done Completed and removed status:review Under review labels Oct 22, 2026
@inureyes
inureyes merged commit d2eca07 into main Oct 22, 2026
29 checks passed
@inureyes
inureyes deleted the feature/issue-2349-dense-prediction branch October 22, 2026 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:architecture Architecture and code structure changes modeltype:vlm Vision-language model priority:medium Medium priority status:done Completed type:enhancement New features, capabilities, or significant additions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Add dense-prediction output surface: mlxcel predict, map and keypoint files

1 participant