• Andrey Filippov's avatar
    CLAUDE: rung-2 closure - GPU peak kernel in production (JNA, float): PD never leaves the GPU · f8df8dce
    Andrey Filippov authored
    leanMeasure now measures peaks ON the GPU (corr2D_peak_eig_f via
    GpuQuad.execCorr2DPeaks, float = the ratified production precision; the
    double kernel stays the validation tier): per LMA iteration only the small
    task streams go up and [n_corr][8] peak floats come down - the PD download
    happens ONLY for debug rendering (-POSE-RT-CORR2D), the pose_corr export
    capture, or the JCuda fallback (the original Java-oracle loop, kept intact).
    
    - GpuQuad: execCorr2DPeaks/setPeakDebias base = null/false (JCuda -> Java
      fallback); PEAK_ROW_FLOATS contract constant.
    - GpuQuadJna + TpJna: tp_proc_exec_corr2d_peak(use_float)/get_peaks/
      set_peak_debias bindings.
    - TDCorrTile: convertTDtoPDInPlace split - fetchNormalizedPD is now the
      optional D2H half.
    - CuasPoseRT.leanMeasure: normalize in place -> float peak kernel -> map
      rows by packed corr index (valid==0 = kernel reject == oracle null);
      de-bias uploaded as the float array when pose_debias > 0; once-per-program
      'GPU peak kernel active' console line.
    - PoseCorrExport.iterGpuPeaks: the production float rows land in the case
      (expected_gpu_peaks_it<k>, corr_indices order) = the TOL-0 peak tier;
      test_pose_corr_jna compares its float replay bit-exactly when present
      (tile_processor_gpu companion commit).
    
    mvn package OK; CuasTD headless self-test ALL PASSED; run_cases.sh ALL PASS
    (pre-hookup case: gpu_peaks buffer absent -> skipped gracefully).
    Co-Authored-By: 's avatarClaude Fable 5 <noreply@anthropic.com>
    f8df8dce
Name
Last commit
Last update
..
AvgTdExport.java Loading commit data...
PoseCorrExport.java Loading commit data...
TestDataReader.java Loading commit data...
TestDataView.java Loading commit data...
TestDataWriter.java Loading commit data...