macOS / Metal
Unified-memory path
The Metal renderer is the macOS default. The bridge validates layout and device information before using the buffer; unsupported inputs are rejected instead of reinterpreted.
Caliper / C++ / Metal / Vulkan
Caliper validates supported MPS and CUDA tensor inputs, then uses Metal or Vulkan to colormap or blit them into live ImGui textures. Imported geometry is drawn from the same device-resident allocation system.
Source available · no packaged release
01 / Frame path
For supported inputs on native backends, Caliper hands tensor storage to the renderer without a host-memory round trip. Colormap and blit work remain on the GPU, and ImGui receives the resulting texture in the same frame.
Curve and scatter coordinates may still use small CPU arrays. The device-resident paths cover accepted dense textures and geometry drawn from imported allocations.
Tensor bridge reference02 / Native backends
The sequence stays consistent: validate the descriptor, process the data on the active GPU backend, and present the result through ImGui. Storage and synchronization differ by platform.
macOS / Metal
The Metal renderer is the macOS default. The bridge validates layout and device information before using the buffer; unsupported inputs are rejected instead of reinterpreted.
Windows / Vulkan
Vulkan exports device-local memory for CUDA import. When shared timeline semaphores are available, GPU-side ordering avoids CPU synchronization on the hot path; otherwise the producer is drained before handoff. Device pairing is UUID-based, and mismatches disable interop instead of crossing adapters.
03 / Processing pipeline
A DLPack-aligned descriptor carries the device, type, shape, strides, and optional stream. Caliper validates that descriptor before selecting the active renderer path.
Checks device compatibility, data type, dimensions, layout, and byte extent before renderer access. Unsupported inputs are rejected rather than reinterpreted.
Accepted 2-D f32 data runs through a LUT colormap; accepted RGBA8 data uses a blit path. Metal and Vulkan perform this work on the GPU, and imported allocations can feed geometry draws.
The renderer exposes an opaque texture ID to ImGui, updates the same resource for matching shape and type, and releases it on the frame thread. OpenGL remains a CPU-staged path for CPU inputs.
04 / Reference
Renderer architecture, tensor and geometry references, backend compatibility, verification, and the project decision log.