Skip to content

Add GPU-native actor system for 3D wave simulation#7

Merged
mivertowski merged 1 commit into
mainfrom
claude/actor-gpu-wave-sim-017Pis5ywrwffgmJQhXFAQsg
Dec 6, 2025
Merged

Add GPU-native actor system for 3D wave simulation#7
mivertowski merged 1 commit into
mainfrom
claude/actor-gpu-wave-sim-017Pis5ywrwffgmJQhXFAQsg

Conversation

@mivertowski
Copy link
Copy Markdown
Owner

Implements a cell-as-actor paradigm where each spatial cell is an
independent actor that communicates with neighbors via message passing
(halo exchange) instead of shared memory access.

Key features:

  • HaloMessage struct for neighbor-to-neighbor pressure exchange
  • CellActorState for per-cell actor state management
  • ActorTileControl for managing actor lifecycle and HLC timestamps
  • K2K routing tables for 3D grid topology (6 neighbors per cell)
  • Persistent CUDA kernel implementing actor message loop
  • HLC (Hybrid Logical Clocks) for temporal alignment across cells
  • ActorGpuBackend3D for host-side orchestration

The actor model is exposed as ComputationMethod::Actor which can be
selected via SimulationConfig:

let config = SimulationConfig::default()
.with_computation_method(ComputationMethod::Actor);

This demonstrates the ringkernel persistent kernel and K2K messaging
abstractions in a real-world physics simulation context.

Implements a cell-as-actor paradigm where each spatial cell is an
independent actor that communicates with neighbors via message passing
(halo exchange) instead of shared memory access.

Key features:
- HaloMessage struct for neighbor-to-neighbor pressure exchange
- CellActorState for per-cell actor state management
- ActorTileControl for managing actor lifecycle and HLC timestamps
- K2K routing tables for 3D grid topology (6 neighbors per cell)
- Persistent CUDA kernel implementing actor message loop
- HLC (Hybrid Logical Clocks) for temporal alignment across cells
- ActorGpuBackend3D for host-side orchestration

The actor model is exposed as ComputationMethod::Actor which can be
selected via SimulationConfig:

  let config = SimulationConfig::default()
      .with_computation_method(ComputationMethod::Actor);

This demonstrates the ringkernel persistent kernel and K2K messaging
abstractions in a real-world physics simulation context.
@mivertowski mivertowski merged commit 5d59219 into main Dec 6, 2025
5 of 7 checks passed
@mivertowski mivertowski deleted the claude/actor-gpu-wave-sim-017Pis5ywrwffgmJQhXFAQsg branch December 6, 2025 09:03
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.

2 participants