Context
Parent: #11 | PRD: #10 | Design: docs/design/gpu-acceleration.md
Goal
Wire all GPU passes together into magnify_motions_gpu(), add comprehensive tests, update docs, and prepare for release.
Acceptance Criteria
magnify_motions_gpu(data, magnification, width, nlevels, biort, qshift, device) orchestrates Pass 1 → Filter → Pass 2
main() calls magnify_motions_gpu() when --gpu is set (replaces "not yet implemented" stub from Slice 2)
GPU path prints GPU name, VRAM, batch sizes at startup
End-to-end: python motion_mag.py --gpu -i face.mp4 produces valid output
tests/test_motion_mag_gpu.py with all tiers:
Tier 1: memory estimation
Tier 2: forward/inverse roundtrip, phase extraction shapes, batched consistency, filter shapes
Tier 3: full pipeline smoke test on face.mp4
All existing CPU tests still pass
README updated with GPU usage section (--gpu, Docker GPU setup, VRAM requirements)
CHANGELOG updated
VERSION bumped to 2.0.0
Blocked by
#16 (Slice 5) — needs all GPU passes implemented.
Files likely involved
motion_mag.py — magnify_motions_gpu() orchestration, main() integration
tests/test_motion_mag_gpu.py — new file
README.md — GPU section
CHANGELOG.md — v2.0.0 entry
VERSION — bump to 2.0.0
Testing approach
./test.sh — all CPU tests pass
./test.sh gpu — all GPU tests pass
Manual: compare GPU output video against CPU output for visual quality
Manual: test on different video resolutions
Context
Parent: #11 | PRD: #10 | Design:
docs/design/gpu-acceleration.mdGoal
Wire all GPU passes together into
magnify_motions_gpu(), add comprehensive tests, update docs, and prepare for release.Acceptance Criteria
magnify_motions_gpu(data, magnification, width, nlevels, biort, qshift, device)orchestrates Pass 1 → Filter → Pass 2main()callsmagnify_motions_gpu()when--gpuis set (replaces "not yet implemented" stub from Slice 2)python motion_mag.py --gpu -i face.mp4produces valid outputtests/test_motion_mag_gpu.pywith all tiers:face.mp4--gpu, Docker GPU setup, VRAM requirements)Blocked by
#16 (Slice 5) — needs all GPU passes implemented.
Files likely involved
motion_mag.py—magnify_motions_gpu()orchestration,main()integrationtests/test_motion_mag_gpu.py— new fileREADME.md— GPU sectionCHANGELOG.md— v2.0.0 entryVERSION— bump to 2.0.0Testing approach
./test.sh— all CPU tests pass./test.sh gpu— all GPU tests pass