raptor.protocols.launcher

raptor.protocols.launcher#

The kernel-level launch/marshal protocols.

Names mirror eagle’s EXISTING public surface 1:1 (eagle.launch / eagle.marshal) so binding an implementation is mechanical. DEFAULT_BLOCK is deliberately NOT lifted here — it belongs to a later LaunchPolicy layer. LaunchMixin has NO protocol twin: hawk’s CompiledKernel(LaunchMixin) inheritance becomes composition over KernelLauncher.

dt=None below stands in for eagle’s np.float64 default (the resolved Real dtype) — raptor has zero hard deps, so no module here imports numpy; None means “the implementation’s default Real dtype”.

A toy caller, just enough to show the shape (a real KernelLauncher is eagle’s; this is not a runnable implementation):

launcher: KernelLauncher = ...  # e.g. eagle's launch module
launcher.launch("pure", my_fn, arg_spec, vector_inputs={"r": r},
                 params={}, per_sample={}, kw={}, grid=blocks, block=256)

Classes

KernelLauncher

Mirrors eagle.launch's capturable launch verb + the pure allocate-and-launch body (eagle/python/eagle/launch.py: launch:253, assemble_args:67, pure_origin:284, pure_prepare:299).

Marshal

Mirrors eagle.marshal's per-role input coercion functions (eagle/python/eagle/marshal.py).