• Andrey Filippov's avatar
    CLAUDE: DP rung D2 - device measure chain from ONE parent entry · 39534100
    Andrey Filippov authored
    PoseMeasureChain descriptor (tp_lma.h) = the rung-B3 per-scene pcyc_*
    union + the resident buffer pointers the granular stage functions launch
    with - the DP parent's marshalling, consumed verbatim. Geometry buffers
    stay opaque (void*) so the header remains host-compilable; tp_lma.cu
    casts at the launch sites (one NVRTC translation unit).
    
    pose_measure_dp tail-enqueues the EXACT B3 host stage sequence:
    task_update -> [slot0 rot-deriv + tile offsets + erase(NaN) + convert
    SET] -> [slot1 rot-deriv + tile offsets + convert SUBTRACT] ->
    consolidate -> inter-corr -> normalize -> peak. Payload kernels are the
    UNMODIFIED production ones (most already single-thread CDP parents -
    the pre-JNA top-DP pattern), so the chain is byte-identical BY
    CONSTRUCTION; only the interior host syncs and the mid-chain 4-byte
    count readbacks disappear. Mid-chain counts (MB pairs / surviving tiles
    / corr rows) are read by self-chaining launchers (the D1 pattern) that
    run tail-enqueued BEHIND the counting kernel and check the LIVE count
    against the descriptor's provisioned capacity (device count guards;
    static over-provisioned shapes per the ratified D2 rule). New helper
    kernels only move bytes: gather/scatter of the per-cam CLT slices and
    the 0xFF NaN-poison fill (the host DtoD memcpys/memsets).
    
    Wrapper tp_proc_exec_pose_measure_cycle_dp (B3-signature drop-in):
    host keeps the rung-C2 nullable uploads (pose_task_upload split out of
    exec_pose_task_update, same bytes), the per-sequence reverse-distortion
    build, consolidate/peak capacity provisioning (no device-side malloc),
    the B4 bayer fence, ONE parent launch, ONE end-of-chain 5-int status
    D2H (rc/pairs/surviving/misaligned/corr rows). Peaks/corr indices stay
    resident for the unchanged fetch calls.
    
    Gate: test_pose_measure_dp_jna (cases.list 'measure_dp', rides the
    captured pose_corr case for real images/kernels/geometry/center-TD;
    task template txy/centers extracted from the captured production task
    stream; camera pair synthetic per the B1/D1 two-instance rule). Three
    poses, B3 entry vs DP chain, ORDER-INDEPENDENT KEYED BY PACKED INDEX:
    counts/stats equal, index sets equal, raw-TD (256) + FZ-normalized PD
    (225) + peak (8) rows ALL memcmp-equal (300 corr rows, 150/150 tiles).
    run_cases.sh ALL PASS (pose_corr @tol 0, peak, peak_recenter, avg_td,
    avg_td_oob, bayer_staged, dp_cycles, measure_dp); DP spike test still
    PASS; compute-sanitizer 12.8 memcheck 0 errors.
    Co-Authored-By: 's avatarClaude Fable 5 <noreply@anthropic.com>
    39534100
Name
Last commit
Last update
..
tests Loading commit data...
TileProcessor.cu Loading commit data...
TileProcessor.h Loading commit data...
TpHostGpu.cu Loading commit data...
TpHostGpu.h Loading commit data...
TpParams.cu Loading commit data...
TpParams.h Loading commit data...
dtt8x8.cu Loading commit data...
dtt8x8.h Loading commit data...
geometry_correction.cu Loading commit data...
geometry_correction.h Loading commit data...
test_tp.cu Loading commit data...
tp_condition.cu Loading commit data...
tp_condition.h Loading commit data...
tp_consolidate.cu Loading commit data...
tp_consolidate.h Loading commit data...
tp_defines.h Loading commit data...
tp_files.cu Loading commit data...
tp_files.h Loading commit data...
tp_lma.cu Loading commit data...
tp_lma.h Loading commit data...
tp_paths.cu Loading commit data...
tp_paths.h Loading commit data...
tp_peak.cu Loading commit data...
tp_peak.h Loading commit data...
tp_utils.cu Loading commit data...
tp_utils.h Loading commit data...