• 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
..
java Loading commit data...
resources Loading commit data...