Repository navigation
Highlights
RL-Kernel v0.1.0 is our first public release for kernel-level train–inference consistency in RL post-training.
This release includes 174 merged pull requests from 28 GitHub contributors, covering end-to-end Qwen3-8B consistency across vime, vLLM rollout and Megatron-LM training, with CUDA, ROCm, Ascend(Partial) and MUSA(In progress) support.
-
End-to-end train–inference consistency: Qwen3-8B VIME integration and strict train/rollout LogP validation on CUDA and ROCm (#377, #388, #400).
-
Canonical multi-topology execution: 14 H100 training/rollout TP/CP configurations with 28,672 active LogPs and zero byte mismatches (#432).
-
ROCm deterministic execution: strict Attention, distributed FFN, vocab-parallel LogP, deterministic RCCL, direct-paged execution, MFMA GEMM and Triton Attention (#319, #325, #328, #356, #390, #396, #437).
-
Full-model validation: Qwen3-8B Dense WS1 train/inference closeout across CUDA and Triton-on-CUDA (#315).
-
Reproducibility: profile-driven CUDA/ROCm workflows through the unified rlk reproduction path (#426, #430).
-
Ascend: deterministic kernel coverage and Qwen3-8B Dense cross-configuration validation (#405, #406, #417).
-
MUSA: Moore Threads platform support, Triton-backed operator dispatch and native deterministic kernel coverage (#346, #375).
Train–Inference Consistency
- fix: restore native logp API parity (#56) by @inaniloquentee
- feat(alignment): add cross-configuration framework (#230) by @CyberSecurityErial
- [WS1] Close embedding and LM-head invariance coverage (#243) by @inaniloquentee
- [ws1]: WS1 Full Qwen3-8B Dense Train-Inference Closeout (#315) by @maxiaosong1124
- fix(integrations): restore strict Qwen3 bitwise parity (#339) by @inaniloquentee
- Add VIME Qwen3-8B TP4/CP2 consistency experiment and results (#377) by @inaniloquentee
- feat(rocm): enable bitwise Qwen3 Dense VIME alignment (#388) by @inaniloquentee
Hardware & Platforms
- [FEAT][platforms]: implement hardware-aware context for ROCm and CUDA (#1) by @Flink-ddd
- [fea][Multiplatform]: add multi-architecture build support (#316) by @Flink-ddd
CUDA
- [FEAT][kernels]: implement TMA-accelerated Online Softmax Fused LogP for SM90+ (#26) by @Flink-ddd
- [FEAT][kernels] Fix CUDA extension build on non-Hopper SM>=90 (Blackkwell SM120) (#91) by @KJLdefeated
- Add batch-invariant deterministic CUDA logp (#98) by @inaniloquentee
- [FEAT][kernels] Fused linear log-prob without materializing logits — SM90 TMA + tensor-core forward, chunked backward (#122) by @KJLdefeated
- [WS1][kernels] Batch-invariant logprob (CUDA) (#204) by @KJLdefeated
- ci: build & test the CUDA extension on the real GPU arch, fail fast i… (#210) by @Liuzin521
- feat: add SM90 linear logp backward fast paths (#211) by @inaniloquentee
- [CI][SM90] fix sm90 run GPU-CI error (#221) by @Flink-ddd
- [WS1][kernels] RoPE (Triton, CUDA on SM90) (#228) by @zhangj1an
- [WS1][kernels] Batch-invariant attention (standard softmax--cuda version) (#240) by @maxiaosong1124
- [WS1] Add CUDA and Triton SiLU/SwiGLU activation kernels (#280) by @maxiaosong1124
- feat(linear-logp): add strict bitwise SM90 contract (#336) by @inaniloquentee
- feat(integrations): add H100 Megatron/vLLM runtime adapters (#338) by @inaniloquentee
- bench(ffn): add H100 cuBLAS and vLLM comparisons (#348) by @frank-2077
- feat(cuda): promote deterministic cross-config runtime and kernel validation to main (#361) by @inaniloquentee
- Enable exact-batch CUDA Graph for strict rollout (#367) by @inaniloquentee
- Perf/cuda compact top p replay (#424) by @inaniloquentee
ROCm
- [FEAT][kernels]: add ROCm FlashAttention backend (#104) by @FED4
- feat(attention): add strict bitwise ROCm path (#319) by @inaniloquentee
- feat(ffn): add deterministic distributed Triton FFN for ROCm (#325) by @frank-2077
- feat(logprob): add deterministic ROCm vocab-parallel path (#328) by @hihaluemen
- [ROCm] Deterministic fused linear logp in Triton (#347) by @KJLdefeated
- [FEAT][distributed]: add deterministic ROCm-RCCL transport collectives (#356) by @Flink-ddd
- [Bugfix] Fix ROCm build for deterministic collectives (#380) by @Flink-ddd
- [feat][rocm]: add end-to-end Vime rollout-training attention ablation matrix (#385) by @Flink-ddd
- [perf][rocm]: accelerate strict VIME rollout with direct paged CK and graph-safe execution (#390) by @Flink-ddd
- Update H100 and MI300X distributed benchmark data (#391) by @frank-2077
- [perf][rocm]: restore full Graph and cache strict Attention schedules (#393) by @inaniloquentee
- fix(rocm): stabilize direct paged CK attention for bitwise R/R (#394) by @inaniloquentee
- perf(rocm): MFMA batch-invariant GEMM and chunked Triton attention for strict R/R (#396) by @Flink-ddd
- docs(rocm): publish G10/G11 200-step RL results (#400) by @inaniloquentee
- [FEAT][ROCm]: promote deterministic cross-config runtime and kernel validation to main (#401) by @Flink-ddd
- perf(rocm): restore VIME TP4 decode throughput (#403) by @inaniloquentee
- perf(rocm): reduce strict no-reuse rollout overhead (#437) by @inaniloquentee
Ascend
- [draft][WS1][kernels] Batch-invariant logprob Ascend C Kernel (#297) by @erfgss
- [WS1][kernels] Deterministic attention Ascend C kernel (#320) by @zhangj1an
- feat(ascend): add prefix-shared attention Ascend C kernel (#340) by @zhangj1an
- feat(ascend): add deterministic collective Ascend C kernel (#355) by @zhangj1an
- fix: restore NPU dispatch for PR #361 unit-tests (#363) by @maxiaosong1124
- feat(ascend): add batch-invariant RMSNorm Ascend C operator (#364) by @erfgss
- [WS1][Ascend] [Qwen3-8b] Embedding ops (#369) by @zhangj1an
- [WS1][Ascend] [Qwen3-8b] Fused logp ops (#370) by @zhangj1an
- [WS1][Ascend] [Qwen3-8b] LM head ops (#371) by @zhangj1an
- [WS1][Ascend] [Qwen3-8b] Fused linear logp ops (#372) by @zhangj1an
- [skill] add ws1 ascend kernel (#373) by @zhangj1an
- feat(ascend): add RoPE kernel (#378) by @erfgss
- feat(ascend): add SwiGLU forward and backward kernels (#381) by @erfgss
- [WS1][kernels] Batch-invariant deterministic GEMM Ascend C kernel (#405) by @zhangj1an
- [WS1][Ascend] Qwen3-8B Dense train-inference closeout for BF16 execution vs FP32 reference (#406) by @zhangj1an
- [FEAT][Ascend]: promote deterministic cross-config runtime and kernel validation to main (#417) by @Flink-ddd
MUSA
RL Runtime & Framework Integration
- feat: add vllm shared prefix rollout sampler (#34) by @inaniloquentee
- feat: add RL synthetic fixtures, reference ops, and minimal loss-step tests (#35) by @inaniloquentee
- feat: add DeepSpeed training worker (#51) by @inaniloquentee
- feat: add Ray actor manager (#52) by @inaniloquentee
- feat: zero copy weight bridge (#60) by @inaniloquentee
- [FEAT][alignment]: add policy and reference model wrappers (#82) by @Bsgg1
- [FEAT][executors]: implement stateless zero-KV scoring executor (#94) by @inaniloquentee
- fix: update flashinfer package name (#200) by @luoyueyuguang
- Update vime linear_logp blog roadmap and images (#223) by @inaniloquentee
- [WS2][Cross-config][Attention] Integrate the Qwen3-8B TP=2 CP=2 BF16 Attention setting to cross-config alignment framework (#263) by @zhangj1an
- refactor: align the Vime adapter with the linear_logp contract (#352) by @inaniloquentee
- feat: publish strict deterministic runtime and collective optimization (#360) by @inaniloquentee
- Optimize deterministic rollout tensor-parallel all-reduce (#365) by @inaniloquentee
- fix(vime): avoid double temperature scaling for reused logits (#423) by @inaniloquentee
Distributed & Communication
- [WS2][PR5][Attention] Add distributed CP drift benchmark artifacts (#285) by @inaniloquentee
- [WS2][PR4][Logp] feat: add distributed TP/CP logprob drift report (#289) by @hihaluemen
- feat(distributed): add deterministic TP8 all-reduce (#310) by @CyberSecurityErial
- feat(distributed): add deterministic TP8 reduce-scatter (#311) by @CyberSecurityErial
- feat(distributed): add deterministic TP8 all-gather (#312) by @CyberSecurityErial
- Canonical multi topology (#432) by @inaniloquentee
Kernels & Operators
- [FEAT][dispatcher]: implement unified kernel registry and enhanced logger (#2) by @Flink-ddd
- [FEAT][Kernel] Implement Fused sampling op (#3) by @Flink-ddd
- feat: add native fused logp RL kernel variants (#33) by @inaniloquentee
- [REFACTOR] Implement Hardware Abstraction Layer for Operator Wrappers (#37) by @Flink-ddd
- [refactor]: globally rename project to RL-Kernel and fix CPU fallback precision (#53) by @Flink-ddd
- feat(kernels): implement pure Triton FlashAttention fallback (#41) (#57) by @EthanZero2Hero
- FEAT: implement Prefix-Shared Fused Attention for GRPO logprob computation (#71) by @Flink-ddd
- feat: grpo single gpu example (#80) by @inaniloquentee
- [BUG] Fix temperature applied twice in FlashInfer sampling path (#86) by @KJLdefeated
- [FEAT][kernels]: implement fused GRPO loss with in-place group reward normalization (#93) by @KJLdefeated
- [FEAT][kernels]: implement Fused Policy Ratio and KL Penalty kernel (#97) by @KJLdefeated
- feat(ws1): NativeRMSNormOp pure-PyTorch ground-truth reference + numerical contract tests (#160) by @maxiaosong1124
- fix(ratio_kl): sanitize out-of-range action ids at masked positions (#162) by @Dnoob
- feat(ws1): NativeSiLUOp + NativeSwiGLUOp pure-PyTorch ground-truth references + numerical contract tests (#166) by @maxiaosong1124
- feat(ws1): Add PyTorch RoPE reference operator (#167) by @frank-2077
- feat(ws1): Add PyTorch matmul reference operator (#168) by @frank-2077
- feat(ws1): NativeEmbeddingOp pure-PyTorch ground-truth reference + numerical contract tests (#169) by @maxiaosong1124
- feat(ws1): NativeLMHeadOp pure-PyTorch ground-truth reference + numerical contract tests (#170) by @maxiaosong1124
- [WS1][kernels] Batch-invariant deterministic GEMM (fwd + bwd) (#180) by @Flink-ddd
- feat(kernels): add fused masking + variable-length pack-and-pad op (#182) by @Chen-BUPT
- :feat(ws1): add NativeAttentionOp pure-PyTorch standard-softmax reference (#188) by @maxiaosong1124
- [FEAT][kernels] Add tensor-parallel linear_logp path (#189) by @inaniloquentee
- feat(ws1): add NativeKVCacheAttnOp pure-PyTorch KV-cache attention reference (#195) by @maxiaosong1124
- feat(ws1):Add kernel gtest operator checker and used logprob to test gtest (#197) by @frank-2077
- [WS1][kernels] Batch-invariant logprob (Native, Triton) (#199) by @hihaluemen
- feat(kernels): add batch-invariant RMSNorm (#201) by @EthanZero2Hero
- [WS2][RFC] Clarify cross-config logprob drift contract (#207) by @CyberSecurityErial
- [WS1]test: relax native matmul batch-gradient comparison (#224) by @frank-2077
- [WS2] Add CP-aware Attention contract and dispatch metadata (#236) by @Bsgg1
- feat(attention): add deterministic CP reference (#238) by @inaniloquentee
- feat(kernels): add Triton batch-invariant attention (#246) by @EthanZero2Hero
- feat(attention): add single-gpu comparison harness (#253) by @inaniloquentee
- [PERF][kernels] Write ratio_kl backward directly to policy dtype (#257) by @hongleng
- feat(attention): add decode-stage KV-cache CP replay (#260) by @JLiu4Coding
- [WS2][PR2][Logp] feat: add TP=1 logprob comparison harness (#262) by @hihaluemen
- [WS2][PR3][Logp] Add deterministic vocab-parallel TP logprob reference (#265) by @KJLdefeated
- [WS2][PR7][Attention] Add FlashInfer RoPE-fused paged attention scaffold (#279) by @inaniloquentee
- [WS2][PR5][Logp] Add deterministic DP-aware GRPO loss on the TP-aware logprob path (#291) by @KJLdefeated
- perf(gemm):Optimize deterministic GEMM tensor layouts (#343) by @frank-2077
- Feat/strict embedding backward (#349) by @leonardHONG
- Feat/strict qk norm reduction (#350) by @leonardHONG
- [perf][gemm]: tile short-token FFN weight gradients (#351) by @Flink-ddd
- [perf][gemm]: optimize long-token FFN deterministic path (#354) by @maxiaosong1124
Reproducibility & Benchmarking
- feat: add RL-shaped kernel benchmark smoke runner (#43) by @inaniloquentee
- feat(benchmarking): add automated performance profiling suite (#66) by @bitborne
- [Bugfix][benchmarks]: fix VRAM baseline and add TRL comparison (#79) by @Flink-ddd
- [WS2][RFC] Add modular cross-config alignment roadmap (#222) by @CyberSecurityErial
- [WS2][GEMM][PR4]: add PR4 forward integration validation for Qwen3-8B (TP=2, CP=2) (#281) by @Flink-ddd
- [Revert][WS2][GEMM][PR4]: add PR4 forward integration validation for Qwen3-8B (TP=2, CP=2) (#282) by @Flink-ddd
- feat(attention): add CP backward drift validation (#284) by @inaniloquentee
- [WS2][GEMM][3th merge] feat: add wrapper to ablation matrix (#322) by @frank-2077
- Add profile-driven VIME reproduction launcher (#426) by @inaniloquentee
- Add Qwen3-8B user guide, ROCm, and topology workflows (#430) by @inaniloquentee
Documentation & CI
- [FEAT][ci]: configure GitHub Actions for cross-platform linting and tests (#24) by @Flink-ddd
- [docs]: add MkDocs Material documentation site skeleton (#32) by @bitborne
- [docs]: update community logo to new design (#59) by @Flink-ddd
- [docs]: fix root README logo path (#62) by @Flink-ddd
- docs: add Documentation and DeepWiki badges (#85) by @frank-2077
- chore: add CODEOWNERS (#89) by @inaniloquentee
- [CI] Add label-gated GPU CI on RunPod for unit tests (#92) by @Flink-ddd
- Add docs wiki links (#95) by @frank-2077
- [readme] Update README.md (#99) by @Flink-ddd
- [Bugfix][ci]: enable gpu-ci for fork PRs with secure checkout (#105) by @Flink-ddd
- [CI] Add stale PR management workflow (#124) by @z1ying
- [Fix][CI] Correct pull_request_target YAML syntax in auto-review workflow (#143) by @z1ying
- feat(docs): Add A100 validation documentation (#157) by @MengjieLee
- Add @KJLdefeaed to codeowner for kernel and C++/CUDA (#159) by @KJLdefeated
- docs: add installation and hardware FAQ (#163) by @haoruilee
- docs: add hardware benchmark dashboard template (#172) by @smarslou
- [readme]update Architecture image (#177) by @Flink-ddd
- [ISSUE-184][Infra] Add .idea into the .gitignore file (#185) by @RocMarshal
- [ISSUE-186][docs] Adjust the README title size and add emphasis to the official website and Discord entry points. (#187) by @RocMarshal
- docs: add WeChat community group entry (#203) by @Zhifu-Liu
- docs: add Whatsapp entry and fix Wechat QR fallback (#209) by @Zhifu-Liu
- docs: add vime linear_logp blog (#214) by @inaniloquentee
- Fix blog image paths and remove zh entry from blog nav (#219) by @inaniloquentee
- [WS1][CI] Pin Transformers 5.13.1 for Torch 2.4 GPU CI (#232) by @hihaluemen
- docs: add DSV4 Flash MoE consistency roadmap blog (#287) by @inaniloquentee
- [CI] Run CI-Pipeline and GPU CI on PRs targeting test (#307) by @maxiaosong1124
- docs: replace expired Discord links with Slack (#326) by @Zhifu-Liu
- fix: unblock PR #361 CI and DCO (#362) by @inaniloquentee
- docs(readme): update feature and platform support (#374) by @Flink-ddd
- chore: translate comments and report text to English and remove Chinese notes (#402) by @maxiaosong1124
- docs(ws1): add numerical precision standard with threshold provenance (#407) by @maxiaosong1124
- docs: unify VIME reproduction commands (#409) by @inaniloquentee
- docs(blog): RL-Kernel × vime × AMD train-rollout bitwise consistency (#418) by @maxiaosong1124
- docs: add MiniMax-H3 RFC architecture diagrams (#421) by @maxiaosong1124
- docs: refresh ROCm consistency figures in README (#425) by @Flink-ddd
- fix(docs): fetch full history for strict documentation builds (#427) by @maxiaosong1124
- docs(blog): replace charts with high-resolution originals (#429) by @maxiaosong1124
- docs(blog): update revised figures from source document (#431) by @maxiaosong1124
- docs(blog): replace consistency figures without reward panels (#433) by @maxiaosong1124
- docs: sync README benchmark figures with blog (#436) by @Flink-ddd
Contributors
Thanks to everyone who contributed code, testing, hardware validation, documentation, infrastructure and review to RL-Kernel v0.1.0.
@Arlo-mt @Bsgg1 @Chen-BUPT @CyberSecurityErial @Dnoob @EthanZero2Hero @FED4
@Flink-ddd @JLiu4Coding @KJLdefeated @Liuzin521 @MengjieLee @RocMarshal @Zhifu-Liu
@bitborne @erfgss @frank-2077 @haoruilee @hihaluemen @hongleng @inaniloquentee
@leonardHONG @luoyueyuguang @maxiaosong1124 @ryankert01 @smarslou @z1ying @zhangj1an