Skip to content

Add torch.vmap/functorch support for all autograd.Function classes#9

Open
DutchErwin wants to merge 2 commits into
vasqu:mainfrom
DutchErwin:functorch-clean
Open

Add torch.vmap/functorch support for all autograd.Function classes#9
DutchErwin wants to merge 2 commits into
vasqu:mainfrom
DutchErwin:functorch-clean

Conversation

@DutchErwin

Copy link
Copy Markdown
  • Convert all 8 torch.autograd.Function classes to functorch-compatible pattern
  • Add setup_context() and vmap() staticmethods to each class
  • Fix tensor contiguity issues for Triton/CUDA kernels
  • Update causal-conv1d API calls for latest version
  • Add comprehensive test suite for vmap compatibility

Converted classes:

  • ChunkStateFn (ssd_chunk_state.py)
  • StatePassingFn (ssd_state_passing.py)
  • LayerNormFn gated (layernorm_gated.py)
  • ChunkScanFn (ssd_chunk_scan.py)
  • LayerNormFn full (layer_norm.py)
  • MambaChunkScanCombinedFn (ssd_combined.py)
  • LayerNormLinearFn (layer_norm.py)
  • MambaSplitConv1dScanCombinedFn (ssd_combined.py)

Erwin Fraterman added 2 commits December 9, 2025 00:32
- Convert all 8 torch.autograd.Function classes to functorch-compatible pattern
- Add setup_context() and vmap() staticmethods to each class
- Fix tensor contiguity issues for Triton/CUDA kernels
- Update causal-conv1d API calls for latest version
- Add comprehensive test suite for vmap compatibility

Converted classes:
- ChunkStateFn (ssd_chunk_state.py)
- StatePassingFn (ssd_state_passing.py)
- LayerNormFn gated (layernorm_gated.py)
- ChunkScanFn (ssd_chunk_scan.py)
- LayerNormFn full (layer_norm.py)
- MambaChunkScanCombinedFn (ssd_combined.py)
- LayerNormLinearFn (layer_norm.py)
- MambaSplitConv1dScanCombinedFn (ssd_combined.py)
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