• Andrey Filippov's avatar
    CLAUDE: Step 2 (B) foundation — GpuQuad no-alloc ctor + GpuQuadJna subclass skeleton (compiles) · a138f826
    Andrey Filippov authored
    Architecture B (chosen after finding GpuQuad's surface is ~70 methods, too large for a clean interface):
    - GpuQuad: add a protected no-alloc constructor (QuadCLT, debug_level, native_backend marker) that sets
      only the final config fields (gpuTileProcessor=null) and allocates NO JCuda memory / context. The
      working JCuda constructors are untouched.
    - New GpuQuadJna extends GpuQuad: uses the no-alloc ctor, then stands up the native libtileproc.so via
      TpJna (tp_create_module + tp_proc_create + tp_proc_setup). Inherits all methods (so it compiles);
      GPU-touching methods will be overridden incrementally to delegate to TpProc, the rest throw to fail
      loudly off the validated path. close() frees native memory deterministically.
    
    mvn -DskipTests compile: clean. JCUDA remains the default/working path. Next: per-method override
    marshalling (kernels/bayer/geometry/tasks + convert/imclt/getRBG/corr), then the backend selector
    (QuadCLT ctor) and the live JCUDA-vs-JNA file comparison.
    Co-Authored-By: 's avatarClaude Opus 4.8 (1M context) <noreply@anthropic.com>
    a138f826
Name
Last commit
Last update
..
calibration Loading commit data...
cameras Loading commit data...
common Loading commit data...
correction Loading commit data...
cuas Loading commit data...
dct Loading commit data...
gpu Loading commit data...
ims Loading commit data...
jp4 Loading commit data...
lwir Loading commit data...
mcp Loading commit data...
orthomosaic Loading commit data...
readers Loading commit data...
tensorflow Loading commit data...
tileprocessor Loading commit data...
vegetation Loading commit data...
x3d/export Loading commit data...