Skip to content

rust/fused-plan7: Rust port of the fused Plan7+transducer kernel#119

Open
ihh wants to merge 1 commit into
masterfrom
rust-fused-plan7
Open

rust/fused-plan7: Rust port of the fused Plan7+transducer kernel#119
ihh wants to merge 1 commit into
masterfrom
rust-fused-plan7

Conversation

@ihh

@ihh ihh commented Jun 18, 2026

Copy link
Copy Markdown
Member

A faithful, sparse Rust implementation of the CPU/WebGPU fused Plan7 GeneWise kernel (js/webgpu/cpu/fused-plan7.mjs): Forward + Viterbi (logsumexp/maxplus), N/C/J flanking + multihit J-loop. The transducer transitions are iterated SPARSELY (O(LKnnz)) instead of the dense S_td^2 of the JS reference, so a ~100-state transducer like prot2dna is tractable. Validated bit-for-bit (~7e-15) against the JS CPU reference and the boss CLI; builds native and wasm32-unknown-unknown.

Summary

Brief description of the changes.

Test plan

  • C++ tests pass (make test)
  • Python tests pass (pytest python/machineboss/)
  • New tests added for new functionality (if applicable)

Checklist

  • Code follows existing style conventions
  • Changes are focused and well-described

A faithful, sparse Rust implementation of the CPU/WebGPU fused Plan7 GeneWise kernel (js/webgpu/cpu/fused-plan7.mjs): Forward + Viterbi (logsumexp/maxplus), N/C/J flanking + multihit J-loop. The transducer transitions are iterated SPARSELY (O(L*K*nnz)) instead of the dense S_td^2 of the JS reference, so a ~100-state transducer like prot2dna is tractable. Validated bit-for-bit (~7e-15) against the JS CPU reference and the boss CLI; builds native and wasm32-unknown-unknown.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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