Commit 9bdef093 authored by Andrey Filippov's avatar Andrey Filippov

CODEX: Bypass duplicate double pose LMA solve

Co-authored-by: 's avatarCodex <codex@elphel.com>
parent 47efa39f
...@@ -1042,11 +1042,12 @@ public class CuasPoseRT { ...@@ -1042,11 +1042,12 @@ public class CuasPoseRT {
numTiles, capturePrepared); numTiles, capturePrepared);
if ((result != null) && !pose_lma_step_path_reported) { if ((result != null) && !pose_lma_step_path_reported) {
pose_lma_step_path_reported = true; pose_lma_step_path_reported = true;
System.out.println("CuasPoseRT: resident CUDA float LMA preparation/reduction active "+ System.out.println("CuasPoseRT: resident CUDA float LMA candidate active "+
"(resident raw fx/J reused; Java oracle readback and acceptance retained)"); "(raw fx/J reused; Java-double candidate is debug/fallback only; "+
"Java RMS/acceptance retained)");
} }
return result; return result;
}); // validation rung: resident raw fx/J -> parallel prepare/reduce -> fixed 3x3 tail // By Codex on 07/15/2026 }); // production candidate: resident raw fx/J -> parallel prepare/reduce -> fixed 3x3 tail // By Codex on 07/15/2026
intersceneLma.setNormalEquationProvider((weights, jt, ymfxWeighted) -> { intersceneLma.setNormalEquationProvider((weights, jt, ymfxWeighted) -> {
final long profileStart = (rtProfile != null) ? rtProfile.start() : 0L; final long profileStart = (rtProfile != null) ? rtProfile.start() : 0L;
final double [] products = lmaGpu.execLmaNormalProducts(weights, jt, ymfxWeighted); final double [] products = lmaGpu.execLmaNormalProducts(weights, jt, ymfxWeighted);
...@@ -1054,10 +1055,10 @@ public class CuasPoseRT { ...@@ -1054,10 +1055,10 @@ public class CuasPoseRT {
if ((products != null) && !lma_products_path_reported) { if ((products != null) && !lma_products_path_reported) {
lma_products_path_reported = true; lma_products_path_reported = true;
System.out.println("CuasPoseRT: GPU LMA normal-equation products active "+ System.out.println("CuasPoseRT: GPU LMA normal-equation products active "+
"(lma_normal_products, double) - 3x3 solve stays on CPU"); "(lma_normal_products, double debug/fallback oracle)");
} }
return products; return products;
}); // roadmap rung 3: J^T W J + J^T W(y-f) on GPU; solve/acceptance stay CPU // By Codex on 07/14/2026 }); // Java-double debug/fallback oracle; resident float is the lean production candidate // By Codex on 07/15/2026
double [][] scene_xyzatr0 = new double [][] {predicted[0].clone(), predicted[1].clone()}; double [][] scene_xyzatr0 = new double [][] {predicted[0].clone(), predicted[1].clone()};
double [][][] cm = null; double [][][] cm = null;
// lean v2 (Andrey's ruling 07/12/2026): pose_cycles > 0 = run EXACTLY that many // lean v2 (Andrey's ruling 07/12/2026): pose_cycles > 0 = run EXACTLY that many
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment