liger-kernel-nightly 0.6.3.dev20251121202601__tar.gz → 0.6.4.dev20251121224847__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.
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/PKG-INFO +1 -1
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/pyproject.toml +1 -1
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/layer_norm.py +84 -65
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel_nightly.egg-info/PKG-INFO +1 -1
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_layer_norm.py +1 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/.github/pull_request_template.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/.github/workflows/amd-ci.yml +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/.github/workflows/benchmark.yml +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/.github/workflows/docs.yml +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/.github/workflows/intel-ci.yml +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/.github/workflows/nvi-ci.yml +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/.github/workflows/publish-nightly.yml +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/.github/workflows/publish-release.yml +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/.gitignore +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/LICENSE +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/Makefile +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/NOTICE +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/README.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/README.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/benchmarks_visualizer.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/data/all_benchmark_data.csv +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_cpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_distill_cosine_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_distill_jsd_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_dpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_dyt.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_embedding.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_fused_add_rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_fused_linear_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_fused_neighborhood_attention.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_geglu.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_group_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_grpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_jsd.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_kl_div.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_kto_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_layer_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_llama4_rope.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_multi_token_attention.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_orpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_poly_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_rope.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_simpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_softmax.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_sparse_multi_token_attention.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_sparsemax.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_swiglu.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_tiled_mlp.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/benchmark_tvd.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/benchmark/scripts/utils.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/dev/fmt-requirements.txt +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/dev/modal/benchmarks.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/dev/modal/tests.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/dev/modal/tests_bwd.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/Examples.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/Getting-Started.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/High-Level-APIs.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/Low-Level-APIs.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/acknowledgement.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/contributing.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/images/banner.GIF +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/images/compose.gif +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/images/e2e-memory.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/images/e2e-tps.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/images/logo-banner.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/images/patch.gif +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/images/post-training.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/index.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/docs/license.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/alignment/accelerate_config.yaml +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/alignment/run_orpo.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/README.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/callback.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/config/fsdp_config.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/img/gemma_7b_mem.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/img/gemma_7b_tp.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/img/llama_mem_alloc.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/img/llama_tps.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/img/qwen_mem_alloc.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/img/qwen_tps.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/launch_on_modal.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/requirements.txt +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/run_benchmarks.sh +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/run_gemma.sh +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/run_llama.sh +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/run_qwen.sh +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/run_qwen2_vl.sh +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/training.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/huggingface/training_multimodal.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/lightning/README.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/lightning/requirements.txt +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/lightning/training.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/README.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/callback.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/docs/images/Memory_Stage1_num_head_3.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/docs/images/Memory_Stage1_num_head_5.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/docs/images/Memory_Stage2_num_head_3.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/docs/images/Memory_Stage2_num_head_5.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/docs/images/Throughput_Stage1_num_head_3.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/docs/images/Throughput_Stage1_num_head_5.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/docs/images/Throughput_Stage2_num_head_3.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/docs/images/Throughput_Stage2_num_head_5.png +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/fsdp/acc-fsdp.conf +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/medusa_util.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/requirements.txt +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/scripts/llama3_8b_medusa.sh +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/examples/medusa/train.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/licenses/LICENSE-Apache-2.0 +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/licenses/LICENSE-MIT-AutoAWQ +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/licenses/LICENSE-MIT-Efficient-Cross-Entropy +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/licenses/LICENSE-MIT-llmc +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/licenses/LICENSE-MIT-triton +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/mkdocs.yml +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/setup.cfg +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/setup.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/README.md +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/cosine_similarity_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/cpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/dpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/functional.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/fused_linear_distillation.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/fused_linear_ppo.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/fused_linear_preference.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/fused_linear_unpaired_preference.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/grpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/jsd_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/kto_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/orpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/chunked_loss/simpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/env_report.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/cross_entropy.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/dyt.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/experimental/embedding.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/experimental/mm_int8int2.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/fused_add_rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/fused_linear_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/fused_neighborhood_attention.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/geglu.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/group_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/grpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/jsd.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/kl_div.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/llama4_rope.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/multi_token_attention.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/poly_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/rope.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/softmax.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/sparsemax.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/swiglu.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/tiled_mlp.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/tvd.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/ops/utils.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/auto_model.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/cross_entropy.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/dyt.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/experimental/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/experimental/embedding.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/fsdp.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/functional.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/fused_add_rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/fused_linear_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/fused_neighborhood_attention.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/geglu.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/group_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/grpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/jsd.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/kl_div.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/layer_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/llama4_rope.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/falcon_h1.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/gemma.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/gemma2.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/gemma3.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/glm4.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/glm4v.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/glm4v_moe.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/hunyuan_v1.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/internvl.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/llama.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/llama4.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/llava.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/loss_utils.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/mistral.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/mixtral.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/mllama.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/olmo2.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/olmo3.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/output_classes.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/paligemma.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/phi3.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/qwen2.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/qwen2_5_vl.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/qwen2_vl.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/qwen3.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/qwen3_moe.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/qwen3_next.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/qwen3_vl.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/qwen3_vl_moe.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/smollm3.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/model/smolvlm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/monkey_patch.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/multi_token_attention.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/poly_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/rope.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/softmax.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/sparsemax.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/swiglu.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/tiled_mlp.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/trainer/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/trainer/orpo_trainer.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/trainer_integration.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/transformers/tvd.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/triton/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/triton/monkey_patch.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel/utils.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel_nightly.egg-info/SOURCES.txt +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel_nightly.egg-info/dependency_links.txt +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel_nightly.egg-info/requires.txt +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/src/liger_kernel_nightly.egg-info/top_level.txt +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/chunked_loss/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/chunked_loss/test_cosine_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/chunked_loss/test_cpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/chunked_loss/test_dpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/chunked_loss/test_grpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/chunked_loss/test_jsd_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/chunked_loss/test_kto_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/chunked_loss/test_orpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/chunked_loss/test_simpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/conftest.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/convergence/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/convergence/bf16/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/convergence/bf16/test_mini_models.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/convergence/bf16/test_mini_models_multimodal.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/convergence/bf16/test_mini_models_with_logits.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/convergence/fp32/__init__.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/convergence/fp32/test_mini_models.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/convergence/fp32/test_mini_models_multimodal.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/convergence/fp32/test_mini_models_with_logits.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/fake_configs/Google/Gemma3/gemma-3-4b-it/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/fake_configs/Google/Paligemma/paligemma-3b-pt-224/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/fake_configs/HuggingFaceTB/SmolVLM2-256M-Video-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/preprocessor_config.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/processor_config.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/fake_configs/OpenGVLab/InternVL3-1B-hf/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/fake_configs/Qwen/Qwen2-VL-7B-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/fake_configs/Qwen/Qwen2.5-VL-7B-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/fake_configs/Qwen/Qwen3-VL-4B-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/fake_configs/meta-llama/Llama-3.2-11B-Vision-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/fake_configs/meta-llama/Llama-4-Scout-17B-16E-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/scripts/generate_tokenized_dataset.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/tiny_shakespeare.txt +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/tiny_shakespeare_tokenized/data-00000-of-00001.arrow +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/tiny_shakespeare_tokenized/dataset_info.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/resources/tiny_shakespeare_tokenized/state.json +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_auto_model.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_dyt.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_embedding.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_flex_attention.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_fused_add_rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_fused_linear_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_fused_neighborhood_attention.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_geglu.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_group_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_grpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_jsd.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_kl_div.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_mm_int8int2.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_monkey_patch.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_multi_token_attention.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_poly_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_rope.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_softmax.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_sparsemax.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_swiglu.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_tiled_mlp.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_trainer_integration.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_transformers.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/transformers/test_tvd.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/triton/test_triton_monkey_patch.py +0 -0
- {liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/test/utils.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "liger_kernel_nightly"
|
|
7
|
-
version = "0.6.
|
|
7
|
+
version = "0.6.4.dev20251121224847"
|
|
8
8
|
description = "Efficient Triton kernels for LLM Training"
|
|
9
9
|
urls = { "Homepage" = "https://github.com/linkedin/Liger-Kernel" }
|
|
10
10
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import math
|
|
1
2
|
import operator
|
|
2
3
|
|
|
3
4
|
import torch
|
|
@@ -85,68 +86,87 @@ def _layer_norm_forward_kernel(
|
|
|
85
86
|
@triton.jit
|
|
86
87
|
def _layer_norm_backward_kernel(
|
|
87
88
|
X_ptr, # pointer to input, shape (n_rows, n_cols)
|
|
89
|
+
stride_x, # stride of each row in input
|
|
88
90
|
W_ptr, # pointer to weights, shape (n_cols,)
|
|
89
91
|
Mean_ptr, # pointer to mean, shape (n_rows,)
|
|
92
|
+
stride_mean, # stride of each row in mean
|
|
90
93
|
RSTD_ptr, # pointer to rstd, shape (n_rows,)
|
|
94
|
+
stride_rstd, # stride of each row in rstd
|
|
91
95
|
DX_ptr, # pointer to input grad, shape (n_rows, n_cols)
|
|
96
|
+
stride_dx, # stride of each row in input grad
|
|
92
97
|
DW_ptr, # pointer to weights grad, shape (n_cols,)
|
|
98
|
+
stride_dw, # stride of each row in weights grad
|
|
93
99
|
DB_ptr, # pointer to bias grad, shape (n_cols,)
|
|
100
|
+
stride_db, # stride of each row in bias grad
|
|
94
101
|
DY_ptr, # pointer to output grad, shape (n_rows, n_cols)
|
|
95
|
-
stride_x, # stride of each row in input
|
|
96
|
-
stride_dx, # stride of each row in input grad
|
|
97
102
|
stride_dy, # stride of each row in output grad
|
|
103
|
+
n_rows,
|
|
98
104
|
n_cols,
|
|
105
|
+
rows_per_program: tl.constexpr,
|
|
99
106
|
BLOCK_SIZE: tl.constexpr,
|
|
100
|
-
dtype: tl.constexpr,
|
|
101
|
-
atomic_dtype: tl.constexpr,
|
|
102
107
|
):
|
|
103
108
|
"""
|
|
104
109
|
References:
|
|
105
110
|
https://arxiv.org/abs/1607.06450
|
|
106
111
|
https://github.com/karpathy/llm.c/blob/master/doc/layernorm/layernorm.md
|
|
107
112
|
"""
|
|
108
|
-
|
|
113
|
+
row_block_id = tl.program_id(0).to(tl.int64)
|
|
114
|
+
row_start = row_block_id * rows_per_program
|
|
115
|
+
row_end = min((row_block_id + 1) * rows_per_program, n_rows)
|
|
109
116
|
cols = tl.arange(0, BLOCK_SIZE)
|
|
110
117
|
mask = cols < n_cols
|
|
111
118
|
|
|
119
|
+
dW_row = tl.zeros((BLOCK_SIZE,), dtype=tl.float32)
|
|
120
|
+
db_row = tl.zeros((BLOCK_SIZE,), dtype=tl.float32)
|
|
121
|
+
|
|
112
122
|
# Pre-load weights once (same optimization as forward pass)
|
|
113
123
|
w = tl.load(W_ptr + cols, mask=mask, other=0.0)
|
|
114
124
|
w_f32 = w.to(tl.float32)
|
|
115
125
|
|
|
116
126
|
# Calculate pointers for this specific row
|
|
117
|
-
row_X_ptr = X_ptr +
|
|
118
|
-
row_DX_ptr = DX_ptr +
|
|
119
|
-
row_DY_ptr = DY_ptr +
|
|
120
|
-
row_Mean_ptr = Mean_ptr +
|
|
121
|
-
row_RSTD_ptr = RSTD_ptr +
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
127
|
+
row_X_ptr = X_ptr + row_start * stride_x
|
|
128
|
+
row_DX_ptr = DX_ptr + row_start * stride_dx
|
|
129
|
+
row_DY_ptr = DY_ptr + row_start * stride_dy
|
|
130
|
+
row_Mean_ptr = Mean_ptr + row_start
|
|
131
|
+
row_RSTD_ptr = RSTD_ptr + row_start
|
|
132
|
+
|
|
133
|
+
for _ in range(row_start, row_end):
|
|
134
|
+
# Load data for this row
|
|
135
|
+
x = tl.load(row_X_ptr + cols, mask=mask, other=0.0)
|
|
136
|
+
dy = tl.load(row_DY_ptr + cols, mask=mask, other=0.0)
|
|
137
|
+
mean = tl.load(row_Mean_ptr)
|
|
138
|
+
rstd = tl.load(row_RSTD_ptr)
|
|
139
|
+
|
|
140
|
+
# Convert to fp32 for numerical stability
|
|
141
|
+
x_f32 = x.to(tl.float32)
|
|
142
|
+
dy_f32 = dy.to(tl.float32)
|
|
143
|
+
mean_f32 = mean.to(tl.float32)
|
|
144
|
+
rstd_f32 = rstd.to(tl.float32)
|
|
145
|
+
|
|
146
|
+
# Compute backward pass for this row
|
|
147
|
+
x_hat = (x_f32 - mean_f32) * rstd_f32
|
|
148
|
+
wdy = w_f32 * dy_f32
|
|
149
|
+
c1 = tl.sum(x_hat * wdy, axis=0) / n_cols
|
|
150
|
+
c2 = tl.sum(wdy, axis=0) / n_cols
|
|
151
|
+
dx = (wdy - (x_hat * c1 + c2)) * rstd_f32
|
|
152
|
+
|
|
153
|
+
# Store input gradient
|
|
154
|
+
tl.store(row_DX_ptr + cols, dx, mask=mask)
|
|
155
|
+
|
|
156
|
+
# Accumulate weight and bias gradients for this thread block's assigned rows
|
|
157
|
+
dw = dy_f32 * x_hat
|
|
158
|
+
db = dy_f32
|
|
159
|
+
dW_row += dw
|
|
160
|
+
db_row += db
|
|
161
|
+
|
|
162
|
+
row_X_ptr += stride_x
|
|
163
|
+
row_DX_ptr += stride_dx
|
|
164
|
+
row_DY_ptr += stride_dy
|
|
165
|
+
row_Mean_ptr += stride_mean
|
|
166
|
+
row_RSTD_ptr += stride_rstd
|
|
167
|
+
|
|
168
|
+
tl.store(DW_ptr + row_block_id * stride_dw + cols, dW_row, mask=mask)
|
|
169
|
+
tl.store(DB_ptr + row_block_id * stride_db + cols, db_row, mask=mask)
|
|
150
170
|
|
|
151
171
|
|
|
152
172
|
def layer_norm_forward(X, W, B, eps):
|
|
@@ -228,31 +248,25 @@ def layer_norm_backward(dY, X, W, B, Mean, RSTD):
|
|
|
228
248
|
dY = dY.view(-1, dim)
|
|
229
249
|
n_rows, n_cols = dY.shape
|
|
230
250
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
251
|
+
sm_count = 1
|
|
252
|
+
if X.device.type == "cuda":
|
|
253
|
+
sm_count = torch.cuda.get_device_properties(X.device).multi_processor_count
|
|
254
|
+
elif X.device.type == "xpu":
|
|
255
|
+
sm_count = torch.xpu.get_device_properties(X.device).gpu_eu_count
|
|
256
|
+
|
|
257
|
+
# fp32 for numerical stability especially.
|
|
258
|
+
_DW = torch.empty((sm_count, n_cols), dtype=torch.float32, device=W.device)
|
|
259
|
+
_DB = torch.empty((sm_count, n_cols), dtype=torch.float32, device=W.device)
|
|
237
260
|
|
|
238
261
|
# Calculate optimal block size and warp configuration
|
|
239
262
|
BLOCK_SIZE, num_warps = calculate_settings(n_cols)
|
|
240
263
|
if n_cols > BLOCK_SIZE:
|
|
241
264
|
raise RuntimeError(f"Feature dimension {n_cols} exceeds maximum supported size of {BLOCK_SIZE}.")
|
|
265
|
+
rows_per_program = math.ceil(n_rows / sm_count)
|
|
266
|
+
grid = (sm_count,)
|
|
242
267
|
|
|
243
|
-
#
|
|
244
|
-
|
|
245
|
-
tl.float32
|
|
246
|
-
if X.dtype == torch.float32
|
|
247
|
-
else tl.bfloat16
|
|
248
|
-
if X.dtype == torch.bfloat16
|
|
249
|
-
else tl.float16
|
|
250
|
-
if X.dtype == torch.float16
|
|
251
|
-
else tl.float32 # fallback
|
|
252
|
-
)
|
|
253
|
-
|
|
254
|
-
# Use float32 for atomic operations if bfloat16 is not supported
|
|
255
|
-
atomic_dtype = tl.float32 if triton_dtype == tl.bfloat16 else triton_dtype
|
|
268
|
+
# Allocate gradient tensors
|
|
269
|
+
DX = torch.empty((n_rows, n_cols), dtype=X.dtype, device=X.device)
|
|
256
270
|
|
|
257
271
|
kernel_args = {"num_warps": num_warps}
|
|
258
272
|
# XPU-specific optimization
|
|
@@ -260,28 +274,33 @@ def layer_norm_backward(dY, X, W, B, Mean, RSTD):
|
|
|
260
274
|
kernel_args.update({"grf_mode": "large", "num_warps": 32, "num_stages": 4})
|
|
261
275
|
|
|
262
276
|
# Launch kernel with one thread block per row for optimal performance
|
|
263
|
-
grid = (n_rows,)
|
|
264
277
|
_layer_norm_backward_kernel[grid](
|
|
265
278
|
X,
|
|
279
|
+
X.stride(0),
|
|
266
280
|
W,
|
|
267
281
|
Mean,
|
|
282
|
+
Mean.stride(0),
|
|
268
283
|
RSTD,
|
|
284
|
+
RSTD.stride(0),
|
|
269
285
|
DX,
|
|
270
|
-
DW,
|
|
271
|
-
DB,
|
|
272
|
-
dY,
|
|
273
|
-
X.stride(0),
|
|
274
286
|
DX.stride(0),
|
|
287
|
+
_DW,
|
|
288
|
+
_DW.stride(0),
|
|
289
|
+
_DB,
|
|
290
|
+
_DB.stride(0),
|
|
291
|
+
dY,
|
|
275
292
|
dY.stride(0),
|
|
293
|
+
n_rows,
|
|
276
294
|
n_cols,
|
|
295
|
+
rows_per_program=rows_per_program,
|
|
277
296
|
BLOCK_SIZE=BLOCK_SIZE,
|
|
278
|
-
dtype=triton_dtype,
|
|
279
|
-
atomic_dtype=atomic_dtype,
|
|
280
297
|
**kernel_args,
|
|
281
298
|
)
|
|
282
299
|
|
|
283
300
|
DX = DX.view(*shape)
|
|
284
|
-
|
|
301
|
+
DW = _DW.sum(dim=0).to(W.dtype)
|
|
302
|
+
DB = _DB.sum(dim=0).to(B.dtype)
|
|
303
|
+
return DX, DW, DB
|
|
285
304
|
|
|
286
305
|
|
|
287
306
|
class LigerLayerNormFunction(torch.autograd.Function):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{liger_kernel_nightly-0.6.3.dev20251121202601 → liger_kernel_nightly-0.6.4.dev20251121224847}/NOTICE
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|