fix(impact-reg): show IMPACT's messages, explain an unseen GPU - #208
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (3)
Included review availability: 7 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 8 reviews per hour. 📝 WalkthroughWalkthroughThe installer now matches elastix CUDA assets to the installed PyTorch CUDA version. Registration deduplicates ChangesCUDA Compatibility and Elastix Diagnostics
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The installer now selects compatible elastix assets and registration provides deduplicated diagnostics with conditional CUDA guidance. No actionable merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
A rabbit checks the CUDA trail, Comment |
8021ea2 to
516eec5
Compare
elastix's output was shown on a failure only. IMPACT goes on with smaller feature patches when the device runs out of memory, and says so: the run is slower for it, and nothing told why. Its lines are now written as they come, once each. An install that cannot see the GPU failed mid-registration with "CUDA is not available" and nothing to act on: a CPU build answers `-h` and passes for a valid install. The error now names the install, the environment's torch and what to do. The installer fetched the CUDA asset on any suitable driver. That asset links the CUDA 12 runtime from where torch keeps its own, so under a torch built for CUDA 13 it could not load. It is fetched for a CUDA 12 torch only; otherwise the CPU asset is, and a forced CUDA install refuses.
516eec5 to
1fe547c
Compare
Summary
Three things an elastix + IMPACT run left the user to guess, all in
apps/impact_reg.IMPACT's messages were swallowed. The engine shows elastix's output on a failure only. When the device runs out of memory, IMPACT goes on with smaller feature patches and says so, the run is slower for it, and nothing told why. Its
IMPACT:lines are now written as they come, once each.A GPU the install cannot see failed mid-registration, with "CUDA is not available" and nothing to act on. A CPU build answers
-h, so it passes for a valid install. The error now names the install, the environment's torch and what to do: pointKONFAI_ELASTIX_DIRat a build made against that torch, or run on the CPU.The installer fetched the CUDA asset on any suitable driver. That asset links the CUDA 12 runtime from where torch keeps its own, so under a torch built for CUDA 13 it could not load, and the install failed where the CPU asset would have run. The CUDA asset is now fetched for a CUDA 12 torch only. Otherwise the CPU asset is, with a line saying why, and a forced CUDA install refuses.
Measured
MR_CT_HeadNeckon a 192 x 160 x 192 pair, with the allocator of the elastix subprocess capped to a few MB of the GPU. The registration completes, and the run now prints what it did:Before, the same run printed nothing, and took 98 s instead of 42 s.
Not changed: no asset exists for a CUDA 13 torch, so the GPU still needs a local build there.
Test plan
IMPACT:lines shown once, the hint on "CUDA is not available" and only there, the asset chosen from the torch's CUDA, a forced CUDA install refusedapps/impact_reg/tests: 79 passed, with and withoutitkinstalledSummary by CodeRabbit
Bug Fixes
Tests