Skip to content

balar: add optional compact MMIO results and D2H streaming - #10

Closed
nab880 wants to merge 1 commit into
balar-3-doorbell-driverfrom
balar-4-compact-mmio
Closed

nab880 wants to merge 1 commit into
balar-3-doorbell-driverfrom
balar-4-compact-mmio

Conversation

@nab880

@nab880 nab880 commented Sep 25, 2026 •

Copy link
Copy Markdown
Owner

Add an opt-in compact_return_value mode for clients that read primary CUDA results directly from MMIO rather than reading a return-packet address. The mode returns fatbin/malloc results or CUDA status and streams retained D2H bytes through subsequent MMIO reads. Balar retains an owned copy of the latest D2H output for that path and comparison pointers.

This layer contains only the two balarMMIO files. Compact mode remains disabled by default. These runtime changes are independent of the wire-header extraction and the corrected Doorbell driver's simulated-memory readback.

Validation:

  • This split preserves the existing PR's MMIO implementation without adding protocol behavior.
  • git diff --check passed.
  • No in-tree configuration or existing integration test enables compact_return_value. Dedicated protocol coverage is still needed before this draft is ready to merge.

Incremental review PR in the contributor fork, based on balar-3-doorbell-driver. Upstream branch protection prevents feature-branch bases there. After the preceding layer lands upstream, submit this branch against sstsimulator/sst-elements:devel; retain this fork PR as its incremental review record.

Stack (review order):

  1. balar-1-wire-header
  2. balar-2-test-support
  3. balar-3-doorbell-driver
  4. balar-4-compact-mmio

Add an opt-in mode that returns primary CUDA results through MMIO reads and streams retained D2H bytes on subsequent reads. Preserve a Balar-owned copy of the latest D2H result and keep the default return-packet-address mode.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant