Skip to content

balar: extract CUDA-independent packet header - #2725

Closed
nab880 wants to merge 1 commit into
sstsimulator:develfrom
nab880:balar-1-wire-header
Closed

nab880 wants to merge 1 commit into
sstsimulator:develfrom
nab880:balar-1-wire-header

Conversation

@nab880

@nab880 nab880 commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Balar's packet definitions currently require CUDA headers and C++ namespaces, preventing standalone C and firmware peers from sharing them. Extract the definitions into balar_packet_wire.h, preserve existing CUDA-enabled C++ packet declarations, and keep balar_packet.h as the existing runtime-facing wrapper. Include the new header in the build and staged runtime tests.

This layer contains only the shared header, compatibility handling, build/staging changes, and focused C/C++ compilation and layout tests. Existing runtime sources are unchanged.

Validation:

  • Installed SST test runner: 4 passed, 0 skipped, including C11/C++11 checks with NVIDIA CUDA 11.8 headers.
  • Packet declarations compared against devel retain existing CUDA-enabled C++ semantics.
  • git diff --check passed.
  • The standalone fallback remains an opaque representation of CUDA-specific types; this split does not introduce a new versioned serialization format.

First layer of the balar-* replacement stack for #2690, targeting current upstream devel.

Stack (review order):

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

Keep existing Balar runtime behavior while exposing packet definitions to standalone C/C++ and firmware clients. Include the new header in builds and staged CUDA-runtime tests; add focused C/C++ compilation and layout checks.
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