liger-kernel-nightly 0.6.0.dev20250718045752__tar.gz → 0.6.4.dev20260121000828__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of liger-kernel-nightly might be problematic. Click here for more details.

Files changed (330) hide show
  1. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/workflows/amd-ci.yml +6 -8
  2. liger_kernel_nightly-0.6.4.dev20260121000828/.github/workflows/benchmark.yml +172 -0
  3. liger_kernel_nightly-0.6.4.dev20260121000828/.github/workflows/docs.yml +64 -0
  4. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/workflows/intel-ci.yml +3 -6
  5. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/workflows/nvi-ci.yml +6 -9
  6. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/workflows/publish-nightly.yml +2 -2
  7. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/workflows/publish-release.yml +2 -2
  8. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.gitignore +2 -1
  9. liger_kernel_nightly-0.6.4.dev20260121000828/.pre-commit-config.yaml +10 -0
  10. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/Makefile +9 -1
  11. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/PKG-INFO +33 -22
  12. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/README.md +28 -17
  13. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/data/all_benchmark_data.csv +480 -30
  14. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_cpo_loss.py +14 -8
  15. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_cross_entropy.py +4 -1
  16. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_dpo_loss.py +14 -16
  17. liger_kernel_nightly-0.6.4.dev20260121000828/benchmark/scripts/benchmark_fused_add_rms_norm.py +201 -0
  18. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_fused_linear_cross_entropy.py +30 -16
  19. liger_kernel_nightly-0.6.4.dev20260121000828/benchmark/scripts/benchmark_grpo_loss.py +234 -0
  20. liger_kernel_nightly-0.6.4.dev20260121000828/benchmark/scripts/benchmark_llama4_rope.py +249 -0
  21. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_orpo_loss.py +14 -8
  22. liger_kernel_nightly-0.6.4.dev20260121000828/benchmark/scripts/benchmark_poly_norm.py +197 -0
  23. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_simpo_loss.py +14 -8
  24. liger_kernel_nightly-0.6.4.dev20260121000828/benchmark/scripts/benchmark_tiled_mlp.py +397 -0
  25. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_tvd.py +7 -4
  26. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/dev/modal/benchmarks.py +1 -1
  27. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/dev/modal/tests.py +1 -1
  28. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/dev/modal/tests_bwd.py +1 -1
  29. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/Examples.md +1 -1
  30. liger_kernel_nightly-0.6.4.dev20260121000828/docs/High-Level-APIs.md +93 -0
  31. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/acknowledgement.md +0 -1
  32. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/contributing.md +45 -48
  33. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/index.md +8 -10
  34. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/alignment/run_orpo.py +1 -1
  35. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/training.py +2 -2
  36. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/training_multimodal.py +1 -1
  37. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/train.py +1 -1
  38. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/mkdocs.yml +27 -9
  39. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/pyproject.toml +29 -1
  40. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/setup.py +35 -6
  41. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/cosine_similarity_loss.py +20 -5
  42. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/dpo_loss.py +54 -3
  43. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/fused_linear_distillation.py +23 -5
  44. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/fused_linear_ppo.py +25 -5
  45. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/grpo_loss.py +46 -9
  46. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/jsd_loss.py +44 -13
  47. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/__init__.py +141 -0
  48. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/README.md +151 -0
  49. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/__init__.py +13 -0
  50. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/__init__.py +5 -0
  51. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ascend-ub-manager-design.md +485 -0
  52. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ops/__init__.py +49 -0
  53. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ops/geglu.py +266 -0
  54. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ops/qwen2vl_mrope.py +285 -0
  55. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ops/rope.py +290 -0
  56. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ops/swiglu.py +142 -0
  57. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ops/tvd.py +221 -0
  58. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ub_manager.py +349 -0
  59. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/registry.py +61 -0
  60. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/cross_entropy.py +130 -64
  61. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/dyt.py +5 -2
  62. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/fused_add_rms_norm.py +410 -0
  63. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/fused_linear_cross_entropy.py +115 -22
  64. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/geglu.py +5 -3
  65. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/group_norm.py +12 -8
  66. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/grpo_loss.py +3 -1
  67. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/kl_div.py +8 -11
  68. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/layer_norm.py +138 -83
  69. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/llama4_rope.py +225 -0
  70. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/poly_norm.py +384 -0
  71. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/rms_norm.py +151 -73
  72. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/rope.py +1 -1
  73. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/tiled_mlp.py +136 -0
  74. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/utils.py +25 -0
  75. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/__init__.py +62 -0
  76. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/auto_model.py +21 -0
  77. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/cross_entropy.py +9 -4
  78. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/dyt.py +1 -1
  79. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/experimental/__init__.py +5 -0
  80. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/experimental/embedding.py +1 -1
  81. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/functional.py +56 -24
  82. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/fused_add_rms_norm.py +39 -0
  83. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/fused_linear_cross_entropy.py +17 -5
  84. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/fused_linear_jsd.py +1 -1
  85. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/fused_neighborhood_attention.py +1 -1
  86. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/geglu.py +1 -1
  87. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/group_norm.py +1 -1
  88. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/grpo_loss.py +57 -2
  89. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/jsd.py +1 -1
  90. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/kl_div.py +1 -1
  91. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/layer_norm.py +1 -1
  92. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/llama4_rope.py +93 -0
  93. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/exaone4.py +136 -0
  94. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/falcon_h1.py +122 -0
  95. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/gemma.py +19 -7
  96. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/gemma2.py +25 -10
  97. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/gemma3.py +62 -18
  98. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/glm4.py +18 -5
  99. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/glm4v.py +163 -0
  100. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/glm4v_moe.py +172 -0
  101. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/gpt_oss.py +211 -0
  102. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/hunyuan_v1.py +134 -0
  103. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/internvl.py +157 -0
  104. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/llama.py +16 -6
  105. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/llama4.py +18 -5
  106. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/llava.py +18 -6
  107. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/loss_utils.py +40 -3
  108. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/mistral.py +17 -7
  109. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/mixtral.py +24 -9
  110. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/mllama.py +18 -7
  111. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/olmo2.py +18 -5
  112. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/olmo3.py +142 -0
  113. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/output_classes.py +147 -0
  114. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/paligemma.py +42 -5
  115. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/phi3.py +120 -0
  116. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/qwen2.py +18 -4
  117. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/qwen2_5_vl.py +163 -0
  118. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/qwen2_vl.py +24 -7
  119. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/qwen3.py +22 -6
  120. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/qwen3_moe.py +27 -7
  121. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/qwen3_next.py +146 -0
  122. liger_kernel_nightly-0.6.0.dev20250718045752/src/liger_kernel/transformers/model/qwen2_5_vl.py → liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/qwen3_vl.py +17 -17
  123. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/qwen3_vl_moe.py +126 -0
  124. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/smollm3.py +199 -0
  125. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/smolvlm.py +158 -0
  126. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/monkey_patch.py +1210 -73
  127. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/multi_token_attention.py +2 -2
  128. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/poly_norm.py +42 -0
  129. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/qwen2vl_mrope.py +1 -1
  130. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/rms_norm.py +15 -3
  131. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/rope.py +64 -0
  132. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/softmax.py +1 -1
  133. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/sparsemax.py +1 -1
  134. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/swiglu.py +18 -1
  135. liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/tiled_mlp.py +125 -0
  136. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/tvd.py +1 -1
  137. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/utils.py +52 -0
  138. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel_nightly.egg-info/PKG-INFO +33 -22
  139. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel_nightly.egg-info/SOURCES.txt +48 -0
  140. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel_nightly.egg-info/requires.txt +4 -4
  141. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/chunked_loss/test_cosine_loss.py +1 -1
  142. liger_kernel_nightly-0.6.4.dev20260121000828/test/chunked_loss/test_dpo_loss.py +938 -0
  143. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/chunked_loss/test_grpo_loss.py +234 -26
  144. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/chunked_loss/test_jsd_loss.py +32 -11
  145. liger_kernel_nightly-0.6.4.dev20260121000828/test/conftest.py +15 -0
  146. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/convergence/bf16/test_mini_models.py +961 -20
  147. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/convergence/bf16/test_mini_models_multimodal.py +433 -6
  148. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/convergence/bf16/test_mini_models_with_logits.py +901 -31
  149. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/convergence/fp32/test_mini_models.py +920 -19
  150. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/convergence/fp32/test_mini_models_multimodal.py +577 -10
  151. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/convergence/fp32/test_mini_models_with_logits.py +865 -0
  152. liger_kernel_nightly-0.6.4.dev20260121000828/test/resources/fake_configs/HuggingFaceTB/SmolVLM2-256M-Video-Instruct/tokenizer_config.json +1192 -0
  153. liger_kernel_nightly-0.6.4.dev20260121000828/test/resources/fake_configs/OpenGVLab/InternVL3-1B-hf/tokenizer_config.json +307 -0
  154. liger_kernel_nightly-0.6.4.dev20260121000828/test/resources/fake_configs/Qwen/Qwen3-VL-4B-Instruct/tokenizer_config.json +63 -0
  155. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_auto_model.py +35 -0
  156. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_cross_entropy.py +126 -6
  157. liger_kernel_nightly-0.6.0.dev20250718045752/test/transformers/test_rms_norm.py → liger_kernel_nightly-0.6.4.dev20260121000828/test/transformers/test_fused_add_rms_norm.py +69 -35
  158. liger_kernel_nightly-0.6.4.dev20260121000828/test/transformers/test_fused_linear_cross_entropy.py +955 -0
  159. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_geglu.py +4 -4
  160. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_group_norm.py +5 -11
  161. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_jsd.py +29 -1
  162. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_layer_norm.py +4 -0
  163. liger_kernel_nightly-0.6.4.dev20260121000828/test/transformers/test_llama4_rope.py +149 -0
  164. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_monkey_patch.py +1886 -564
  165. liger_kernel_nightly-0.6.4.dev20260121000828/test/transformers/test_poly_norm.py +281 -0
  166. liger_kernel_nightly-0.6.4.dev20260121000828/test/transformers/test_rms_norm.py +311 -0
  167. liger_kernel_nightly-0.6.4.dev20260121000828/test/transformers/test_tiled_mlp.py +197 -0
  168. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/utils.py +212 -8
  169. liger_kernel_nightly-0.6.0.dev20250718045752/.github/workflows/benchmark.yml +0 -93
  170. liger_kernel_nightly-0.6.0.dev20250718045752/.github/workflows/docs.yml +0 -30
  171. liger_kernel_nightly-0.6.0.dev20250718045752/docs/High-Level-APIs.md +0 -30
  172. liger_kernel_nightly-0.6.0.dev20250718045752/src/liger_kernel/transformers/model/phi3.py +0 -263
  173. liger_kernel_nightly-0.6.0.dev20250718045752/src/liger_kernel/transformers/rope.py +0 -20
  174. liger_kernel_nightly-0.6.0.dev20250718045752/test/chunked_loss/test_dpo_loss.py +0 -358
  175. liger_kernel_nightly-0.6.0.dev20250718045752/test/conftest.py +0 -8
  176. liger_kernel_nightly-0.6.0.dev20250718045752/test/convergence/fp32/__init__.py +0 -0
  177. liger_kernel_nightly-0.6.0.dev20250718045752/test/transformers/test_fused_linear_cross_entropy.py +0 -347
  178. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  179. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  180. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/pull_request_template.md +0 -0
  181. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/LICENSE +0 -0
  182. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/NOTICE +0 -0
  183. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/README.md +0 -0
  184. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/__init__.py +0 -0
  185. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/benchmarks_visualizer.py +0 -0
  186. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/__init__.py +0 -0
  187. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_distill_cosine_loss.py +0 -0
  188. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_distill_jsd_loss.py +0 -0
  189. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_dyt.py +0 -0
  190. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_embedding.py +0 -0
  191. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_fused_linear_jsd.py +0 -0
  192. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_fused_neighborhood_attention.py +0 -0
  193. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_geglu.py +0 -0
  194. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_group_norm.py +0 -0
  195. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_jsd.py +0 -0
  196. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_kl_div.py +0 -0
  197. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_kto_loss.py +0 -0
  198. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_layer_norm.py +0 -0
  199. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_multi_token_attention.py +0 -0
  200. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_qwen2vl_mrope.py +0 -0
  201. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_rms_norm.py +0 -0
  202. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_rope.py +0 -0
  203. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_softmax.py +0 -0
  204. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_sparse_multi_token_attention.py +0 -0
  205. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_sparsemax.py +0 -0
  206. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_swiglu.py +0 -0
  207. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/utils.py +0 -0
  208. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/dev/fmt-requirements.txt +0 -0
  209. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/Getting-Started.md +0 -0
  210. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/Low-Level-APIs.md +0 -0
  211. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/images/banner.GIF +0 -0
  212. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/images/compose.gif +0 -0
  213. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/images/e2e-memory.png +0 -0
  214. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/images/e2e-tps.png +0 -0
  215. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/images/logo-banner.png +0 -0
  216. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/images/patch.gif +0 -0
  217. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/images/post-training.png +0 -0
  218. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/license.md +0 -0
  219. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/alignment/accelerate_config.yaml +0 -0
  220. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/README.md +0 -0
  221. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/callback.py +0 -0
  222. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/config/fsdp_config.json +0 -0
  223. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/img/gemma_7b_mem.png +0 -0
  224. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/img/gemma_7b_tp.png +0 -0
  225. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/img/llama_mem_alloc.png +0 -0
  226. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/img/llama_tps.png +0 -0
  227. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/img/qwen_mem_alloc.png +0 -0
  228. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/img/qwen_tps.png +0 -0
  229. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/launch_on_modal.py +0 -0
  230. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/requirements.txt +0 -0
  231. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/run_benchmarks.sh +0 -0
  232. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/run_gemma.sh +0 -0
  233. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/run_llama.sh +0 -0
  234. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/run_qwen.sh +0 -0
  235. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/run_qwen2_vl.sh +0 -0
  236. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/lightning/README.md +0 -0
  237. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/lightning/requirements.txt +0 -0
  238. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/lightning/training.py +0 -0
  239. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/README.md +0 -0
  240. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/callback.py +0 -0
  241. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Memory_Stage1_num_head_3.png +0 -0
  242. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Memory_Stage1_num_head_5.png +0 -0
  243. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Memory_Stage2_num_head_3.png +0 -0
  244. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Memory_Stage2_num_head_5.png +0 -0
  245. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Throughput_Stage1_num_head_3.png +0 -0
  246. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Throughput_Stage1_num_head_5.png +0 -0
  247. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Throughput_Stage2_num_head_3.png +0 -0
  248. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Throughput_Stage2_num_head_5.png +0 -0
  249. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/fsdp/acc-fsdp.conf +0 -0
  250. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/medusa_util.py +0 -0
  251. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/requirements.txt +0 -0
  252. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/scripts/llama3_8b_medusa.sh +0 -0
  253. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/licenses/LICENSE-Apache-2.0 +0 -0
  254. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/licenses/LICENSE-MIT-AutoAWQ +0 -0
  255. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/licenses/LICENSE-MIT-Efficient-Cross-Entropy +0 -0
  256. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/licenses/LICENSE-MIT-llmc +0 -0
  257. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/licenses/LICENSE-MIT-triton +0 -0
  258. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/setup.cfg +0 -0
  259. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/__init__.py +0 -0
  260. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/README.md +0 -0
  261. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/__init__.py +0 -0
  262. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/cpo_loss.py +0 -0
  263. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/functional.py +0 -0
  264. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/fused_linear_preference.py +0 -0
  265. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/fused_linear_unpaired_preference.py +0 -0
  266. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/kto_loss.py +0 -0
  267. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/orpo_loss.py +0 -0
  268. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/simpo_loss.py +0 -0
  269. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/env_report.py +0 -0
  270. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/experimental/embedding.py +0 -0
  271. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/experimental/mm_int8int2.py +0 -0
  272. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/fused_linear_jsd.py +0 -0
  273. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/fused_neighborhood_attention.py +0 -0
  274. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/jsd.py +0 -0
  275. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/multi_token_attention.py +0 -0
  276. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/qwen2vl_mrope.py +0 -0
  277. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/softmax.py +0 -0
  278. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/sparsemax.py +0 -0
  279. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/swiglu.py +0 -0
  280. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/tvd.py +0 -0
  281. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/fsdp.py +0 -0
  282. {liger_kernel_nightly-0.6.0.dev20250718045752/src/liger_kernel/ops → liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model}/__init__.py +0 -0
  283. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/trainer/__init__.py +0 -0
  284. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/trainer/orpo_trainer.py +0 -0
  285. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/trainer_integration.py +0 -0
  286. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/triton/__init__.py +0 -0
  287. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/triton/monkey_patch.py +0 -0
  288. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel_nightly.egg-info/dependency_links.txt +0 -0
  289. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel_nightly.egg-info/top_level.txt +0 -0
  290. {liger_kernel_nightly-0.6.0.dev20250718045752/src/liger_kernel/transformers/model → liger_kernel_nightly-0.6.4.dev20260121000828/test}/__init__.py +0 -0
  291. {liger_kernel_nightly-0.6.0.dev20250718045752/test → liger_kernel_nightly-0.6.4.dev20260121000828/test/chunked_loss}/__init__.py +0 -0
  292. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/chunked_loss/test_cpo_loss.py +0 -0
  293. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/chunked_loss/test_kto_loss.py +0 -0
  294. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/chunked_loss/test_orpo_loss.py +0 -0
  295. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/chunked_loss/test_simpo_loss.py +0 -0
  296. {liger_kernel_nightly-0.6.0.dev20250718045752/test/chunked_loss → liger_kernel_nightly-0.6.4.dev20260121000828/test/convergence}/__init__.py +0 -0
  297. {liger_kernel_nightly-0.6.0.dev20250718045752/test/convergence → liger_kernel_nightly-0.6.4.dev20260121000828/test/convergence/bf16}/__init__.py +0 -0
  298. {liger_kernel_nightly-0.6.0.dev20250718045752/test/convergence/bf16 → liger_kernel_nightly-0.6.4.dev20260121000828/test/convergence/fp32}/__init__.py +0 -0
  299. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/Google/Gemma3/gemma-3-4b-it/tokenizer_config.json +0 -0
  300. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/Google/Paligemma/paligemma-3b-pt-224/tokenizer_config.json +0 -0
  301. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/preprocessor_config.json +0 -0
  302. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/processor_config.json +0 -0
  303. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/tokenizer_config.json +0 -0
  304. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/Qwen/Qwen2-VL-7B-Instruct/tokenizer_config.json +0 -0
  305. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/Qwen/Qwen2.5-VL-7B-Instruct/tokenizer_config.json +0 -0
  306. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/meta-llama/Llama-3.2-11B-Vision-Instruct/tokenizer_config.json +0 -0
  307. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/meta-llama/Llama-4-Scout-17B-16E-Instruct/tokenizer_config.json +0 -0
  308. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/scripts/generate_tokenized_dataset.py +0 -0
  309. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/tiny_shakespeare.txt +0 -0
  310. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/tiny_shakespeare_tokenized/data-00000-of-00001.arrow +0 -0
  311. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/tiny_shakespeare_tokenized/dataset_info.json +0 -0
  312. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/tiny_shakespeare_tokenized/state.json +0 -0
  313. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_dyt.py +0 -0
  314. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_embedding.py +0 -0
  315. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_flex_attention.py +0 -0
  316. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_fused_linear_jsd.py +0 -0
  317. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_fused_neighborhood_attention.py +0 -0
  318. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_grpo_loss.py +0 -0
  319. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_kl_div.py +0 -0
  320. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_mm_int8int2.py +0 -0
  321. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_multi_token_attention.py +0 -0
  322. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_qwen2vl_mrope.py +0 -0
  323. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_rope.py +0 -0
  324. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_softmax.py +0 -0
  325. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_sparsemax.py +0 -0
  326. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_swiglu.py +0 -0
  327. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_trainer_integration.py +0 -0
  328. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_transformers.py +0 -0
  329. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_tvd.py +0 -0
  330. {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/triton/test_triton_monkey_patch.py +0 -0
@@ -13,9 +13,6 @@ on:
13
13
  paths:
14
14
  - "src/**"
15
15
  - "test/**"
16
- schedule:
17
- # Runs at 00:00 UTC daily
18
- - cron: '0 0 * * *'
19
16
  workflow_dispatch: # Enables manual trigger
20
17
 
21
18
  concurrency:
@@ -29,10 +26,10 @@ jobs:
29
26
 
30
27
  steps:
31
28
  - name: Checkout code
32
- uses: actions/checkout@v3
29
+ uses: actions/checkout@v6
33
30
 
34
31
  - name: Set up Python
35
- uses: actions/setup-python@v3
32
+ uses: actions/setup-python@v6
36
33
  with:
37
34
  python-version: '3.10'
38
35
 
@@ -53,10 +50,10 @@ jobs:
53
50
 
54
51
  steps:
55
52
  - name: Checkout code
56
- uses: actions/checkout@v3
53
+ uses: actions/checkout@v6
57
54
 
58
55
  - name: Set up Python
59
- uses: actions/setup-python@v3
56
+ uses: actions/setup-python@v6
60
57
  with:
61
58
  python-version: '3.10'
62
59
 
@@ -64,7 +61,8 @@ jobs:
64
61
  run: |
65
62
  rocm-smi
66
63
  python -m pip install --upgrade pip
67
- pip install -e .[dev] --extra-index-url https://download.pytorch.org/whl/nightly/rocm${{ matrix.rocm_version }}
64
+ pip install -e .[dev]
65
+ pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm${{ matrix.rocm_version }}/
68
66
 
69
67
  - name: List Python Environments
70
68
  run: python -m pip list
@@ -0,0 +1,172 @@
1
+ name: Benchmarks
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ schedule:
7
+ # Runs at 00:00 UTC every Friday
8
+ - cron: '0 0 * * 5'
9
+ workflow_dispatch: # Enables manual trigger
10
+ inputs:
11
+ commit_hash:
12
+ description: 'Commit hash to benchmark'
13
+ default: 'main'
14
+ overwrite:
15
+ description: 'Overwrite existing benchmark data if it exists'
16
+ type: boolean
17
+ default: false
18
+
19
+ permissions:
20
+ contents: write
21
+
22
+ concurrency:
23
+ # This causes it to cancel previous in-progress actions on the same PR / branch,
24
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
25
+ cancel-in-progress: true
26
+
27
+ jobs:
28
+ benchmarks:
29
+ runs-on: ubuntu-latest
30
+ env:
31
+ MODAL_TOKEN_ID: ${{ secrets.MODAL_TOKEN_ID }}
32
+ MODAL_TOKEN_SECRET: ${{ secrets.MODAL_TOKEN_SECRET }}
33
+ GITHUB_USERNAME: linkedin
34
+ REPO_NAME: Liger-Kernel
35
+ OUTPUT_DIR: benchmarks
36
+ OUTPUT_FILENAME: benchmark.csv
37
+ GENERATED_CSV: benchmark/data/all_benchmark_data.csv
38
+ # Sanitize user-controlled inputs by declaring them as environment variables
39
+ # This prevents command injection attacks by filtering dangerous characters
40
+ INPUT_COMMIT_HASH: ${{ github.event.inputs.commit_hash }}
41
+ INPUT_OVERWRITE: ${{ github.event.inputs.overwrite }}
42
+
43
+
44
+ steps:
45
+ # Step: Decide the commit hash to use
46
+ # Step: Checkout full history so we can check out any commit
47
+ - name: Checkout full repo history
48
+ uses: actions/checkout@v6
49
+ with:
50
+ fetch-depth: 0 # Important: so we can checkout arbitrary commit
51
+
52
+ - name: Determine commit hash to checkout
53
+ id: choose_commit
54
+ run: |
55
+ if [ "${{ github.event_name}}" == "workflow_dispatch" ] && [ "$INPUT_COMMIT_HASH" != "main" ]; then
56
+ echo "Using manual input commit: $INPUT_COMMIT_HASH"
57
+ echo "hash=$INPUT_COMMIT_HASH" >> $GITHUB_OUTPUT
58
+ else
59
+ echo "Using latest commit from main"
60
+ echo "hash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
61
+ fi
62
+
63
+ # Step: Conditionally replace benchmark folder from main
64
+ - name: Replace benchmark folder from main (manual only, commit ≠ main)
65
+ if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.commit_hash != 'main' }}
66
+ run: |
67
+ echo "Detected manual trigger with commit_hash = $INPUT_COMMIT_HASH"
68
+
69
+ # Save current branch (detached HEAD at old commit)
70
+ ORIG_COMMIT="$INPUT_COMMIT_HASH"
71
+
72
+ # Fetch and checkout main
73
+ git fetch origin main
74
+ git checkout origin/main -- benchmark/
75
+
76
+ # Save benchmark folder from main
77
+ cp -r benchmark /tmp/benchmark_main
78
+ # Checkout back to target commit
79
+ git checkout "$ORIG_COMMIT"
80
+ # Replace old benchmark with one from main
81
+ rm -rf benchmark
82
+ cp -r /tmp/benchmark_main benchmark
83
+
84
+ # Step: Check if benchmark exists and exit if overwrite is false
85
+ - name: Check existing benchmark
86
+ run: |
87
+ COMMIT_HASH="${{ steps.choose_commit.outputs.hash }}"
88
+ BENCHMARK_URL="https://raw.githubusercontent.com/linkedin/Liger-Kernel/refs/heads/gh-pages/benchmarks/${COMMIT_HASH}/benchmark.csv"
89
+
90
+ if curl --output /dev/null --silent --head --fail "$BENCHMARK_URL"; then
91
+ echo "Benchmark already exists for commit $COMMIT_HASH"
92
+ if [ "$INPUT_OVERWRITE" != "true" ]; then
93
+ echo "Overwrite is false - exiting"
94
+ exit 1
95
+ else
96
+ echo "Overwrite is true - proceeding"
97
+ fi
98
+ else
99
+ echo "No existing benchmark found - proceeding"
100
+ fi
101
+
102
+ - name: Set up Python
103
+ uses: actions/setup-python@v6
104
+ with:
105
+ python-version: '3.10'
106
+
107
+ # Install dependencies
108
+ - name: Install dependencies
109
+ run: |
110
+ python -m pip install --upgrade pip
111
+ pip install modal
112
+
113
+ # Delete previous benchmark results.
114
+ - name: Remove previous benchmark data
115
+ run: |
116
+ rm -f benchmark/data/all_benchmark_data.csv
117
+
118
+ - name: Run benchmarks on GPU
119
+ run: |
120
+ modal run dev.modal.benchmarks
121
+
122
+ # Step 5: Checkout gh-pages branch in a subfolderAdd commentMore actions
123
+ - name: Checkout gh-pages
124
+ uses: actions/checkout@v6
125
+ with:
126
+ ref: gh-pages
127
+ path: gh-pages
128
+
129
+ # Step 6: Copy benchmark CSV to gh-pages directory
130
+ - name: Copy generated benchmark to gh-pages
131
+ id: copy_benchmark
132
+ run: |
133
+ if [[ "${{ github.event_name }}" == "release" ]]; then
134
+ echo "Release event detected"
135
+ path=${{steps.choose_commit.outputs.hash}}-${{ github.event.release.tag_name }}
136
+ else
137
+ echo "Not a release event"
138
+ path=${{steps.choose_commit.outputs.hash}}
139
+ fi
140
+ echo "path=$path" >> $GITHUB_OUTPUT
141
+ COMMIT_DIR="gh-pages/${OUTPUT_DIR}/${path}"
142
+
143
+ mkdir -p "$COMMIT_DIR"
144
+
145
+ if [ -f "$COMMIT_DIR/${OUTPUT_FILENAME}" ]; then
146
+ echo "Removing existing benchmark.csv for this commit"
147
+ rm "$COMMIT_DIR/${OUTPUT_FILENAME}"
148
+ fi
149
+
150
+ cp "${GENERATED_CSV}" "$COMMIT_DIR/${OUTPUT_FILENAME}"
151
+
152
+ # Step 7: Append commit hash to commits.txt if not already present
153
+ - name: Update commits.txt
154
+ run: |
155
+ cd gh-pages
156
+ echo "commits.txt file path: ${OUTPUT_DIR}/commits.txt"
157
+ # Create file if it doesn't exist
158
+ mkdir -p ${OUTPUT_DIR}
159
+ touch ${OUTPUT_DIR}/commits.txt
160
+
161
+ echo "${{ steps.copy_benchmark.outputs.path }}" >> ${OUTPUT_DIR}/commits.txt
162
+
163
+ echo "Added commit hash to commits.txt"
164
+ # Step 7: Commit and push
165
+ - name: Commit and push to gh-pages
166
+ run: |
167
+ cd gh-pages
168
+ git config user.name github-actions[bot]
169
+ git config user.email 41898282+github-actions[bot]@users.noreply.github.com
170
+ git add .
171
+ git commit -m "Add benchmark for commit ${{ steps.copy_benchmark.outputs.path }}" || echo "No changes to commit"
172
+ git push origin gh-pages
@@ -0,0 +1,64 @@
1
+ name: Publish documentation
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ paths:
7
+ - 'docs/**'
8
+ - 'mkdocs.yml'
9
+
10
+ permissions:
11
+ contents: write
12
+ jobs:
13
+ deploy:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v6
17
+ - name: Configure Git Credentials
18
+ run: |
19
+ git config user.name github-actions[bot]
20
+ git config user.email 41898282+github-actions[bot]@users.noreply.github.com
21
+ - uses: actions/setup-python@v6
22
+ with:
23
+ python-version: 3.x
24
+ - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
25
+ - uses: actions/cache@v5
26
+ with:
27
+ key: mkdocs-material-${{ env.cache_id }}
28
+ path: .cache
29
+ restore-keys: |
30
+ mkdocs-material-
31
+ - run: pip install mkdocs-material mkdocstrings[python]
32
+ # ====== Backup the benchmarks from gh-pages ======
33
+ # This is necessary because the benchmarks are not included in the documentation build process.
34
+ # So we need to backup the benchmarks from gh-pages and restore them after the documentation is built.
35
+ - name: Backup benchmarks from gh-pages
36
+ run: |
37
+ git fetch origin gh-pages
38
+ # create worktree bound to local gh-pages, tracking origin/gh-pages
39
+ git branch -f gh-pages origin/gh-pages || true
40
+ mkdir -p ghp && git worktree add ghp gh-pages || true
41
+ if [ -d ghp/benchmarks ]; then
42
+ tar -C ghp -czf /tmp/benchmarks.tgz benchmarks
43
+ fi
44
+ # IMPORTANT: remove worktree so gh-pages isn't checked out anywhere
45
+ git worktree remove ghp --force || true
46
+ echo "Backed up benchmarks from gh-pages"
47
+ # ====== Deploy the documentation ======
48
+ - name: Deploy documentation
49
+ run: mkdocs gh-deploy --force
50
+ # ====== Restore the benchmarks onto gh-pages ======
51
+ # This is necessary because the benchmarks are not included in the documentation build process.
52
+ # So we need to restore the benchmarks onto gh-pages after the documentation is built.
53
+ - name: Restore benchmarks onto gh-pages
54
+ run: |
55
+ # Refresh remote tracking and recreate a clean worktree
56
+ git fetch origin gh-pages
57
+ git worktree add -B gh-pages ghp origin/gh-pages
58
+ if [ -f /tmp/benchmarks.tgz ]; then
59
+ tar -C ghp -xzf /tmp/benchmarks.tgz
60
+ git -C ghp add -A
61
+ git -C ghp commit -m "Restore benchmarks after gh-deploy" || echo "No changes"
62
+ git -C ghp push origin gh-pages
63
+ fi
64
+ git worktree remove ghp --force || true
@@ -13,9 +13,6 @@ on:
13
13
  paths:
14
14
  - "src/**"
15
15
  - "test/**"
16
- schedule:
17
- # Runs at 00:00 UTC daily
18
- - cron: '0 0 * * *'
19
16
  workflow_dispatch: # Enables manual trigger
20
17
 
21
18
  concurrency:
@@ -29,10 +26,10 @@ jobs:
29
26
 
30
27
  steps:
31
28
  - name: Checkout code
32
- uses: actions/checkout@v3
29
+ uses: actions/checkout@v6
33
30
 
34
31
  - name: Set up Python
35
- uses: actions/setup-python@v3
32
+ uses: actions/setup-python@v6
36
33
  with:
37
34
  python-version: '3.10'
38
35
 
@@ -61,7 +58,7 @@ jobs:
61
58
  apt-get clean && rm -rf /var/lib/apt/lists/*
62
59
 
63
60
  - name: Checkout code
64
- uses: actions/checkout@v3
61
+ uses: actions/checkout@v6
65
62
 
66
63
  - name: Setup Dependencies
67
64
  shell: bash
@@ -13,9 +13,6 @@ on:
13
13
  paths:
14
14
  - "src/**"
15
15
  - "test/**"
16
- schedule:
17
- # Runs at 00:00 UTC daily
18
- - cron: '0 0 * * *'
19
16
  workflow_dispatch: # Enables manual trigger
20
17
 
21
18
  concurrency:
@@ -28,10 +25,10 @@ jobs:
28
25
 
29
26
  steps:
30
27
  - name: Checkout code
31
- uses: actions/checkout@v3
28
+ uses: actions/checkout@v6
32
29
 
33
30
  - name: Set up Python
34
- uses: actions/setup-python@v3
31
+ uses: actions/setup-python@v6
35
32
  with:
36
33
  python-version: '3.10'
37
34
 
@@ -52,10 +49,10 @@ jobs:
52
49
 
53
50
  steps:
54
51
  - name: Checkout code
55
- uses: actions/checkout@v3
52
+ uses: actions/checkout@v6
56
53
 
57
54
  - name: Set up Python
58
- uses: actions/setup-python@v3
55
+ uses: actions/setup-python@v6
59
56
  with:
60
57
  python-version: '3.10'
61
58
 
@@ -78,10 +75,10 @@ jobs:
78
75
 
79
76
  steps:
80
77
  - name: Checkout code
81
- uses: actions/checkout@v3
78
+ uses: actions/checkout@v6
82
79
 
83
80
  - name: Set up Python
84
- uses: actions/setup-python@v3
81
+ uses: actions/setup-python@v6
85
82
  with:
86
83
  python-version: '3.10'
87
84
 
@@ -13,10 +13,10 @@ jobs:
13
13
 
14
14
  steps:
15
15
  - name: Checkout repository
16
- uses: actions/checkout@v3
16
+ uses: actions/checkout@v6
17
17
 
18
18
  - name: Set up Python
19
- uses: actions/setup-python@v3
19
+ uses: actions/setup-python@v6
20
20
  with:
21
21
  python-version: '3.8'
22
22
 
@@ -10,10 +10,10 @@ jobs:
10
10
 
11
11
  steps:
12
12
  - name: Checkout repository
13
- uses: actions/checkout@v3
13
+ uses: actions/checkout@v6
14
14
 
15
15
  - name: Set up Python
16
- uses: actions/setup-python@v3
16
+ uses: actions/setup-python@v6
17
17
  with:
18
18
  python-version: '3.10'
19
19
 
@@ -23,4 +23,5 @@ uv.lock
23
23
 
24
24
  # Benchmark images
25
25
  benchmark/visualizations
26
- .vscode/
26
+ .vscode/
27
+ .coverage
@@ -0,0 +1,10 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ # Ruff version.
4
+ rev: v0.14.11
5
+ hooks:
6
+ # Run the linter.
7
+ - id: ruff-check
8
+ args: [ --fix ]
9
+ # Run the formatter.
10
+ - id: ruff-format
@@ -5,7 +5,15 @@ all: checkstyle test test-convergence
5
5
 
6
6
  # Command to run pytest for correctness tests
7
7
  test:
8
- python -m pytest --disable-warnings test/ --ignore=test/convergence
8
+ python -m pytest --disable-warnings \
9
+ --cov=src/liger_kernel \
10
+ --cov-report=term-missing \
11
+ --ignore=test/convergence \
12
+ test/
13
+
14
+ # Command to run coverage report
15
+ coverage:
16
+ coverage report -m
9
17
 
10
18
  # Command to run ruff for linting and formatting code
11
19
  checkstyle:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: liger_kernel_nightly
3
- Version: 0.6.0.dev20250718045752
3
+ Version: 0.6.4.dev20260121000828
4
4
  Summary: Efficient Triton kernels for LLM Training
5
5
  License: BSD 2-CLAUSE LICENSE
6
6
  Copyright 2024 LinkedIn Corporation
@@ -35,17 +35,17 @@ Requires-Dist: triton>=2.3.1
35
35
  Provides-Extra: dev
36
36
  Requires-Dist: transformers>=4.49.0; extra == "dev"
37
37
  Requires-Dist: matplotlib>=3.7.2; extra == "dev"
38
- Requires-Dist: flake8>=4.0.1.1; extra == "dev"
39
- Requires-Dist: black>=24.4.2; extra == "dev"
40
- Requires-Dist: isort>=5.13.2; extra == "dev"
38
+ Requires-Dist: ruff>=0.12.0; extra == "dev"
41
39
  Requires-Dist: pytest>=7.1.2; extra == "dev"
42
40
  Requires-Dist: pytest-xdist; extra == "dev"
41
+ Requires-Dist: pytest-cov; extra == "dev"
42
+ Requires-Dist: pytest-asyncio; extra == "dev"
43
43
  Requires-Dist: pytest-rerunfailures; extra == "dev"
44
44
  Requires-Dist: datasets>=2.19.2; extra == "dev"
45
45
  Requires-Dist: seaborn; extra == "dev"
46
- Requires-Dist: mkdocs; extra == "dev"
47
46
  Requires-Dist: mkdocs-material; extra == "dev"
48
47
  Requires-Dist: torchvision>=0.20; extra == "dev"
48
+ Requires-Dist: prek>=0.2.28; extra == "dev"
49
49
 
50
50
  <a name="readme-top"></a>
51
51
 
@@ -80,8 +80,8 @@ Requires-Dist: torchvision>=0.20; extra == "dev"
80
80
  </a>
81
81
  </td>
82
82
  <td style="padding: 10px;">
83
- <a href="https://discord.gg/gpumode">
84
- <img src="https://dcbadge.vercel.app/api/server/gpumode?style=flat" alt="Join Our Discord">
83
+ <a href="https://discord.gg/X4MaxPgA">
84
+ <img src="https://dcbadge.limes.pink/api/server/https://discord.gg/X4MaxPgA?style=flat" alt="Join Our Discord">
85
85
  </a>
86
86
  </td>
87
87
  </tr>
@@ -96,6 +96,7 @@ Requires-Dist: torchvision>=0.20; extra == "dev"
96
96
  <details>
97
97
  <summary>Latest News 🔥</summary>
98
98
 
99
+ - [2025/12/19] We announced a liger kernel discord channel at https://discord.gg/X4MaxPgA; We will be hosting Liger Kernel x Triton China Meetup in mid of January 2026
99
100
  - [2025/03/06] We release a joint blog post on TorchTune × Liger - [Peak Performance, Minimized Memory: Optimizing torchtune’s performance with torch.compile & Liger Kernel](https://pytorch.org/blog/peak-performance-minimized-memory/)
100
101
  - [2024/12/11] We release [v0.5.0](https://github.com/linkedin/Liger-Kernel/releases/tag/v0.5.0): 80% more memory efficient post training losses (DPO, ORPO, CPO, etc)!
101
102
  - [2024/12/5] We release LinkedIn Engineering Blog - [Liger-Kernel: Empowering an open source ecosystem of Triton Kernels for Efficient LLM Training](https://www.linkedin.com/blog/engineering/open-source/liger-kernel-open-source-ecosystem-for-efficient-llm-training)
@@ -114,6 +115,8 @@ We've also added optimized Post-Training kernels that deliver **up to 80% memory
114
115
 
115
116
  You can view the documentation site for additional installation, usage examples, and API references:https://linkedin.github.io/Liger-Kernel/
116
117
 
118
+ You can view the Liger Kernel Technical Report: https://openreview.net/forum?id=36SjAIT42G
119
+
117
120
  ## Supercharge Your Model with Liger Kernel
118
121
 
119
122
  ![Banner](https://raw.githubusercontent.com/linkedin/Liger-Kernel/main/docs/images/banner.GIF)
@@ -178,8 +181,8 @@ y = orpo_loss(lm_head.weight, x, target)
178
181
  - `triton >= 3.0.0` Install from pypi. (e.g. `pip install triton==3.0.0`)
179
182
 
180
183
  ```bash
181
- # Need to pass the url when installing
182
- pip install -e .[dev] --extra-index-url https://download.pytorch.org/whl/nightly/rocm6.2
184
+ pip install -e .[dev]
185
+ pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.3/
183
186
  ```
184
187
 
185
188
  ### Optional Dependencies
@@ -213,6 +216,9 @@ pip install -e .
213
216
 
214
217
  # Setup Development Dependencies
215
218
  pip install -e ".[dev]"
219
+
220
+ # NOTE -> For AMD users only
221
+ pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.3/
216
222
  ```
217
223
 
218
224
 
@@ -308,7 +314,12 @@ loss.backward()
308
314
  | Phi3 & Phi3.5 | `liger_kernel.transformers.apply_liger_kernel_to_phi3` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
309
315
  | Granite 3.0 & 3.1 | `liger_kernel.transformers.apply_liger_kernel_to_granite` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss |
310
316
  | OLMo2 | `liger_kernel.transformers.apply_liger_kernel_to_olmo2` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
317
+ | Olmo3 | `liger_kernel.transformers.apply_liger_kernel_to_olmo3` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
311
318
  | GLM-4 | `liger_kernel.transformers.apply_liger_kernel_to_glm4` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
319
+ | GPT-OSS | `liger_kernel.transformers.apply_liger_kernel_to_gpt_oss` | RoPE, RMSNorm, CrossEntropyLoss, FusedLinearCrossEntropy |
320
+ | InternVL3 | `liger_kernel.transformers.apply_liger_kernel_to_internvl` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
321
+ | HunyuanV1 | `liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_dense` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
322
+ | HunyuanV1 MoE | `liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_moe` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
312
323
 
313
324
 
314
325
  ## Low-level APIs
@@ -388,17 +399,17 @@ loss.backward()
388
399
  <td style="padding: 10px;">
389
400
  <div style="display: block;">
390
401
  <a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml">
391
- <img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml/badge.svg?event=schedule" alt="Build">
402
+ <img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml/badge.svg?branch=main&event=push" alt="Build">
392
403
  </a>
393
404
  </div>
394
405
  <div style="display: block;">
395
406
  <a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
396
- <img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml/badge.svg?event=schedule" alt="Build">
407
+ <img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml/badge.svg?branch=main&event=push" alt="Build">
397
408
  </a>
398
409
  </div>
399
410
  <div style="display: block;">
400
- <a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
401
- <img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/intel-ci.yml/badge.svg?event=schedule" alt="Build">
411
+ <a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/intel-ci.yml">
412
+ <img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/intel-ci.yml/badge.svg?branch=main&event=push" alt="Build">
402
413
  </a>
403
414
  </div>
404
415
  </td>
@@ -417,15 +428,13 @@ loss.backward()
417
428
 
418
429
  Biblatex entry:
419
430
  ```bib
420
- @article{hsu2024ligerkernelefficienttriton,
421
- title={Liger Kernel: Efficient Triton Kernels for LLM Training},
422
- author={Pin-Lun Hsu and Yun Dai and Vignesh Kothapalli and Qingquan Song and Shao Tang and Siyu Zhu and Steven Shimizu and Shivam Sahni and Haowen Ning and Yanning Chen and Zhipeng Wang},
423
- year={2025},
424
- eprint={2410.10989},
425
- archivePrefix={arXiv},
426
- primaryClass={cs.LG},
427
- url={https://openreview.net/forum?id=36SjAIT42G},
428
- journal={Proceedings of the ICML 2025 Workshop on Championing Opensource Development in Machine Learning (CODEML ’25)},
431
+ @inproceedings{
432
+ hsu2025ligerkernel,
433
+ title={Liger-Kernel: Efficient Triton Kernels for {LLM} Training},
434
+ author={Pin-Lun Hsu and Yun Dai and Vignesh Kothapalli and Qingquan Song and Shao Tang and Siyu Zhu and Steven Shimizu and Shivam Sahni and Haowen Ning and Yanning Chen and Zhipeng Wang},
435
+ booktitle={Championing Open-source DEvelopment in ML Workshop @ ICML25},
436
+ year={2025},
437
+ url={https://openreview.net/forum?id=36SjAIT42G}
429
438
  }
430
439
  ```
431
440
 
@@ -437,3 +446,5 @@ Biblatex entry:
437
446
  ↑ Back to Top ↑
438
447
  </a>
439
448
  </p>
449
+
450
+