gitextract_wgwkfssl/ ├── .github/ │ └── workflows/ │ ├── README.md │ ├── _build.yml │ ├── build.yml │ ├── pre-commit.yaml │ ├── publish-fa4.yml │ └── publish.yml ├── .gitignore ├── .gitmodules ├── .pre-commit-config.yaml ├── AI/ │ ├── DEBUG_2CTA.md │ ├── RACECHECK_TMA_HAZARD.md │ ├── SM90_BLOCK_SIZE_TUNING.md │ ├── SM90_R2P_MASKING_SASS.md │ ├── VARLEN_PREPROCESS_TILE_BUG.md │ ├── racecheck_repro_1d_bulk.py │ └── racecheck_repro_1d_tensor.py ├── AUTHORS ├── CLAUDE.md ├── LICENSE ├── MANIFEST.in ├── Makefile ├── README.md ├── benchmarks/ │ ├── bench_sm90.py │ ├── benchmark_alibi.py │ ├── benchmark_attn.py │ ├── benchmark_causal.py │ ├── benchmark_flash_attention.py │ └── benchmark_gemm.py ├── csrc/ │ ├── flash_attn/ │ │ ├── flash_api.cpp │ │ └── src/ │ │ ├── alibi.h │ │ ├── block_info.h │ │ ├── dropout.h │ │ ├── flash.h │ │ ├── flash_bwd_hdim128_bf16_causal_sm80.cu │ │ ├── flash_bwd_hdim128_bf16_sm80.cu │ │ ├── flash_bwd_hdim128_fp16_causal_sm80.cu │ │ ├── flash_bwd_hdim128_fp16_sm80.cu │ │ ├── flash_bwd_hdim192_bf16_causal_sm80.cu │ │ ├── flash_bwd_hdim192_bf16_sm80.cu │ │ ├── flash_bwd_hdim192_fp16_causal_sm80.cu │ │ ├── flash_bwd_hdim192_fp16_sm80.cu │ │ ├── flash_bwd_hdim256_bf16_causal_sm80.cu │ │ ├── flash_bwd_hdim256_bf16_sm80.cu │ │ ├── flash_bwd_hdim256_fp16_causal_sm80.cu │ │ ├── flash_bwd_hdim256_fp16_sm80.cu │ │ ├── flash_bwd_hdim32_bf16_causal_sm80.cu │ │ ├── flash_bwd_hdim32_bf16_sm80.cu │ │ ├── flash_bwd_hdim32_fp16_causal_sm80.cu │ │ ├── flash_bwd_hdim32_fp16_sm80.cu │ │ ├── flash_bwd_hdim64_bf16_causal_sm80.cu │ │ ├── flash_bwd_hdim64_bf16_sm80.cu │ │ ├── flash_bwd_hdim64_fp16_causal_sm80.cu │ │ ├── flash_bwd_hdim64_fp16_sm80.cu │ │ ├── flash_bwd_hdim96_bf16_causal_sm80.cu │ │ ├── flash_bwd_hdim96_bf16_sm80.cu │ │ ├── flash_bwd_hdim96_fp16_causal_sm80.cu │ │ ├── flash_bwd_hdim96_fp16_sm80.cu │ │ ├── flash_bwd_kernel.h │ │ ├── flash_bwd_launch_template.h │ │ ├── flash_bwd_preprocess_kernel.h │ │ ├── flash_fwd_hdim128_bf16_causal_sm80.cu │ │ ├── flash_fwd_hdim128_bf16_sm80.cu │ │ ├── flash_fwd_hdim128_fp16_causal_sm80.cu │ │ ├── flash_fwd_hdim128_fp16_sm80.cu │ │ ├── flash_fwd_hdim192_bf16_causal_sm80.cu │ │ ├── flash_fwd_hdim192_bf16_sm80.cu │ │ ├── flash_fwd_hdim192_fp16_causal_sm80.cu │ │ ├── flash_fwd_hdim192_fp16_sm80.cu │ │ ├── flash_fwd_hdim256_bf16_causal_sm80.cu │ │ ├── flash_fwd_hdim256_bf16_sm80.cu │ │ ├── flash_fwd_hdim256_fp16_causal_sm80.cu │ │ ├── flash_fwd_hdim256_fp16_sm80.cu │ │ ├── flash_fwd_hdim32_bf16_causal_sm80.cu │ │ ├── flash_fwd_hdim32_bf16_sm80.cu │ │ ├── flash_fwd_hdim32_fp16_causal_sm80.cu │ │ ├── flash_fwd_hdim32_fp16_sm80.cu │ │ ├── flash_fwd_hdim64_bf16_causal_sm80.cu │ │ ├── flash_fwd_hdim64_bf16_sm80.cu │ │ ├── flash_fwd_hdim64_fp16_causal_sm80.cu │ │ ├── flash_fwd_hdim64_fp16_sm80.cu │ │ ├── flash_fwd_hdim96_bf16_causal_sm80.cu │ │ ├── flash_fwd_hdim96_bf16_sm80.cu │ │ ├── flash_fwd_hdim96_fp16_causal_sm80.cu │ │ ├── flash_fwd_hdim96_fp16_sm80.cu │ │ ├── flash_fwd_kernel.h │ │ ├── flash_fwd_launch_template.h │ │ ├── flash_fwd_split_hdim128_bf16_causal_sm80.cu │ │ ├── flash_fwd_split_hdim128_bf16_sm80.cu │ │ ├── flash_fwd_split_hdim128_fp16_causal_sm80.cu │ │ ├── flash_fwd_split_hdim128_fp16_sm80.cu │ │ ├── flash_fwd_split_hdim192_bf16_causal_sm80.cu │ │ ├── flash_fwd_split_hdim192_bf16_sm80.cu │ │ ├── flash_fwd_split_hdim192_fp16_causal_sm80.cu │ │ ├── flash_fwd_split_hdim192_fp16_sm80.cu │ │ ├── flash_fwd_split_hdim256_bf16_causal_sm80.cu │ │ ├── flash_fwd_split_hdim256_bf16_sm80.cu │ │ ├── flash_fwd_split_hdim256_fp16_causal_sm80.cu │ │ ├── flash_fwd_split_hdim256_fp16_sm80.cu │ │ ├── flash_fwd_split_hdim32_bf16_causal_sm80.cu │ │ ├── flash_fwd_split_hdim32_bf16_sm80.cu │ │ ├── flash_fwd_split_hdim32_fp16_causal_sm80.cu │ │ ├── flash_fwd_split_hdim32_fp16_sm80.cu │ │ ├── flash_fwd_split_hdim64_bf16_causal_sm80.cu │ │ ├── flash_fwd_split_hdim64_bf16_sm80.cu │ │ ├── flash_fwd_split_hdim64_fp16_causal_sm80.cu │ │ ├── flash_fwd_split_hdim64_fp16_sm80.cu │ │ ├── flash_fwd_split_hdim96_bf16_causal_sm80.cu │ │ ├── flash_fwd_split_hdim96_bf16_sm80.cu │ │ ├── flash_fwd_split_hdim96_fp16_causal_sm80.cu │ │ ├── flash_fwd_split_hdim96_fp16_sm80.cu │ │ ├── generate_kernels.py │ │ ├── hardware_info.h │ │ ├── kernel_traits.h │ │ ├── mask.h │ │ ├── namespace_config.h │ │ ├── philox.cuh │ │ ├── philox_unpack.cuh │ │ ├── rotary.h │ │ ├── softmax.h │ │ ├── static_switch.h │ │ └── utils.h │ ├── flash_attn_ck/ │ │ ├── flash_api.cpp │ │ ├── flash_common.cpp │ │ ├── flash_common.hpp │ │ ├── mha_bwd.cpp │ │ ├── mha_fwd.cpp │ │ ├── mha_fwd_kvcache.cpp │ │ ├── mha_varlen_bwd.cpp │ │ └── mha_varlen_fwd.cpp │ ├── fused_dense_lib/ │ │ ├── README.md │ │ ├── fused_dense.cpp │ │ ├── fused_dense_cuda.cu │ │ └── setup.py │ └── layer_norm/ │ ├── README.md │ ├── ln.h │ ├── ln_api.cpp │ ├── ln_bwd_1024.cu │ ├── ln_bwd_1280.cu │ ├── ln_bwd_1536.cu │ ├── ln_bwd_2048.cu │ ├── ln_bwd_256.cu │ ├── ln_bwd_2560.cu │ ├── ln_bwd_3072.cu │ ├── ln_bwd_4096.cu │ ├── ln_bwd_512.cu │ ├── ln_bwd_5120.cu │ ├── ln_bwd_6144.cu │ ├── ln_bwd_7168.cu │ ├── ln_bwd_768.cu │ ├── ln_bwd_8192.cu │ ├── ln_bwd_kernels.cuh │ ├── ln_fwd_1024.cu │ ├── ln_fwd_1280.cu │ ├── ln_fwd_1536.cu │ ├── ln_fwd_2048.cu │ ├── ln_fwd_256.cu │ ├── ln_fwd_2560.cu │ ├── ln_fwd_3072.cu │ ├── ln_fwd_4096.cu │ ├── ln_fwd_512.cu │ ├── ln_fwd_5120.cu │ ├── ln_fwd_6144.cu │ ├── ln_fwd_7168.cu │ ├── ln_fwd_768.cu │ ├── ln_fwd_8192.cu │ ├── ln_fwd_kernels.cuh │ ├── ln_kernel_traits.h │ ├── ln_parallel_bwd_1024.cu │ ├── ln_parallel_bwd_1280.cu │ ├── ln_parallel_bwd_1536.cu │ ├── ln_parallel_bwd_2048.cu │ ├── ln_parallel_bwd_256.cu │ ├── ln_parallel_bwd_2560.cu │ ├── ln_parallel_bwd_3072.cu │ ├── ln_parallel_bwd_4096.cu │ ├── ln_parallel_bwd_512.cu │ ├── ln_parallel_bwd_5120.cu │ ├── ln_parallel_bwd_6144.cu │ ├── ln_parallel_bwd_7168.cu │ ├── ln_parallel_bwd_768.cu │ ├── ln_parallel_bwd_8192.cu │ ├── ln_parallel_fwd_1024.cu │ ├── ln_parallel_fwd_1280.cu │ ├── ln_parallel_fwd_1536.cu │ ├── ln_parallel_fwd_2048.cu │ ├── ln_parallel_fwd_256.cu │ ├── ln_parallel_fwd_2560.cu │ ├── ln_parallel_fwd_3072.cu │ ├── ln_parallel_fwd_4096.cu │ ├── ln_parallel_fwd_512.cu │ ├── ln_parallel_fwd_5120.cu │ ├── ln_parallel_fwd_6144.cu │ ├── ln_parallel_fwd_7168.cu │ ├── ln_parallel_fwd_768.cu │ ├── ln_parallel_fwd_8192.cu │ ├── ln_parallel_residual_bwd_kernels.cuh │ ├── ln_parallel_residual_fwd_kernels.cuh │ ├── ln_utils.cuh │ ├── setup.py │ └── static_switch.h ├── examples/ │ └── inference/ │ └── README.md ├── flash_attn/ │ ├── __init__.py │ ├── bert_padding.py │ ├── cute/ │ │ ├── .flake8 │ │ ├── AUTHORS │ │ ├── LICENSE │ │ ├── MANIFEST.in │ │ ├── README.md │ │ ├── __init__.py │ │ ├── ampere_helpers.py │ │ ├── barrier.py │ │ ├── bench_utils.py │ │ ├── benchmark.py │ │ ├── blackwell_helpers.py │ │ ├── block_info.py │ │ ├── block_sparse_utils.py │ │ ├── block_sparsity.py │ │ ├── cache_utils.py │ │ ├── compute_block_sparsity.py │ │ ├── copy_utils.py │ │ ├── cute_dsl_ptxas.py │ │ ├── cute_dsl_utils.py │ │ ├── fa_logging.py │ │ ├── fast_math.py │ │ ├── flash_bwd.py │ │ ├── flash_bwd_postprocess.py │ │ ├── flash_bwd_preprocess.py │ │ ├── flash_bwd_sm100.py │ │ ├── flash_bwd_sm120.py │ │ ├── flash_bwd_sm90.py │ │ ├── flash_fwd.py │ │ ├── flash_fwd_combine.py │ │ ├── flash_fwd_sm100.py │ │ ├── flash_fwd_sm120.py │ │ ├── flash_fwd_sm90.py │ │ ├── interface.py │ │ ├── mask.py │ │ ├── mma_sm100_desc.py │ │ ├── named_barrier.py │ │ ├── pack_gqa.py │ │ ├── paged_kv.py │ │ ├── pipeline.py │ │ ├── pyproject.toml │ │ ├── seqlen_info.py │ │ ├── sm90_config_search.py │ │ ├── softmax.py │ │ ├── testing.py │ │ ├── tile_scheduler.py │ │ └── utils.py │ ├── flash_attn_interface.py │ ├── flash_attn_triton.py │ ├── flash_attn_triton_og.py │ ├── flash_blocksparse_attention.py │ ├── flash_blocksparse_attn_interface.py │ ├── layers/ │ │ ├── __init__.py │ │ ├── patch_embed.py │ │ └── rotary.py │ ├── losses/ │ │ ├── __init__.py │ │ └── cross_entropy.py │ ├── models/ │ │ ├── __init__.py │ │ ├── baichuan.py │ │ ├── bert.py │ │ ├── bigcode.py │ │ ├── btlm.py │ │ ├── falcon.py │ │ ├── gpt.py │ │ ├── gpt_neox.py │ │ ├── gptj.py │ │ ├── llama.py │ │ ├── opt.py │ │ └── vit.py │ ├── modules/ │ │ ├── __init__.py │ │ ├── block.py │ │ ├── embedding.py │ │ ├── mha.py │ │ └── mlp.py │ ├── ops/ │ │ ├── __init__.py │ │ ├── activations.py │ │ ├── fused_dense.py │ │ ├── layer_norm.py │ │ ├── rms_norm.py │ │ └── triton/ │ │ ├── __init__.py │ │ ├── cross_entropy.py │ │ ├── k_activations.py │ │ ├── layer_norm.py │ │ ├── linear.py │ │ ├── mlp.py │ │ └── rotary.py │ ├── pyproject.toml │ └── utils/ │ ├── __init__.py │ ├── benchmark.py │ ├── distributed.py │ ├── generation.py │ ├── library.py │ ├── pretrained.py │ ├── testing.py │ └── torch.py ├── hopper/ │ ├── __init__.py │ ├── benchmark_attn.py │ ├── benchmark_flash_attention_fp8.py │ ├── benchmark_mla_decode.py │ ├── benchmark_split_kv.py │ ├── block.h │ ├── copy_sm90_bulk_reduce.hpp │ ├── cuda_check.h │ ├── epilogue_bwd.hpp │ ├── epilogue_fwd.hpp │ ├── flash.h │ ├── flash_api.cpp │ ├── flash_api_stable.cpp │ ├── flash_attn_interface.py │ ├── flash_bwd_kernel_sm80.h │ ├── flash_bwd_kernel_sm90.h │ ├── flash_bwd_launch_template.h │ ├── flash_bwd_postprocess_kernel.h │ ├── flash_bwd_preprocess_kernel.h │ ├── flash_fwd_combine.cu │ ├── flash_fwd_combine_kernel.h │ ├── flash_fwd_combine_launch_template.h │ ├── flash_fwd_kernel_sm80.h │ ├── flash_fwd_kernel_sm90.h │ ├── flash_fwd_launch_template.h │ ├── flash_prepare_scheduler.cu │ ├── generate_kernels.py │ ├── heuristics.h │ ├── instantiations/ │ │ ├── flash_bwd_hdim128_bf16_sm80.cu │ │ ├── flash_bwd_hdim128_bf16_sm90.cu │ │ ├── flash_bwd_hdim128_bf16_softcap_sm80.cu │ │ ├── flash_bwd_hdim128_bf16_softcap_sm90.cu │ │ ├── flash_bwd_hdim128_bf16_softcapall_sm90.cu │ │ ├── flash_bwd_hdim128_fp16_sm80.cu │ │ ├── flash_bwd_hdim128_fp16_sm90.cu │ │ ├── flash_bwd_hdim128_fp16_softcap_sm80.cu │ │ ├── flash_bwd_hdim128_fp16_softcap_sm90.cu │ │ ├── flash_bwd_hdim128_fp16_softcapall_sm90.cu │ │ ├── flash_bwd_hdim192_bf16_sm80.cu │ │ ├── flash_bwd_hdim192_bf16_sm90.cu │ │ ├── flash_bwd_hdim192_bf16_softcap_sm80.cu │ │ ├── flash_bwd_hdim192_bf16_softcap_sm90.cu │ │ ├── flash_bwd_hdim192_bf16_softcapall_sm90.cu │ │ ├── flash_bwd_hdim192_fp16_sm80.cu │ │ ├── flash_bwd_hdim192_fp16_sm90.cu │ │ ├── flash_bwd_hdim192_fp16_softcap_sm80.cu │ │ ├── flash_bwd_hdim192_fp16_softcap_sm90.cu │ │ ├── flash_bwd_hdim192_fp16_softcapall_sm90.cu │ │ ├── flash_bwd_hdim256_bf16_sm80.cu │ │ ├── flash_bwd_hdim256_bf16_sm90.cu │ │ ├── flash_bwd_hdim256_bf16_softcap_sm80.cu │ │ ├── flash_bwd_hdim256_bf16_softcap_sm90.cu │ │ ├── flash_bwd_hdim256_bf16_softcapall_sm90.cu │ │ ├── flash_bwd_hdim256_fp16_sm80.cu │ │ ├── flash_bwd_hdim256_fp16_sm90.cu │ │ ├── flash_bwd_hdim256_fp16_softcap_sm80.cu │ │ ├── flash_bwd_hdim256_fp16_softcap_sm90.cu │ │ ├── flash_bwd_hdim256_fp16_softcapall_sm90.cu │ │ ├── flash_bwd_hdim64_bf16_sm80.cu │ │ ├── flash_bwd_hdim64_bf16_sm90.cu │ │ ├── flash_bwd_hdim64_bf16_softcap_sm80.cu │ │ ├── flash_bwd_hdim64_bf16_softcap_sm90.cu │ │ ├── flash_bwd_hdim64_bf16_softcapall_sm90.cu │ │ ├── flash_bwd_hdim64_fp16_sm80.cu │ │ ├── flash_bwd_hdim64_fp16_sm90.cu │ │ ├── flash_bwd_hdim64_fp16_softcap_sm80.cu │ │ ├── flash_bwd_hdim64_fp16_softcap_sm90.cu │ │ ├── flash_bwd_hdim64_fp16_softcapall_sm90.cu │ │ ├── flash_bwd_hdim96_bf16_sm80.cu │ │ ├── flash_bwd_hdim96_bf16_sm90.cu │ │ ├── flash_bwd_hdim96_bf16_softcap_sm80.cu │ │ ├── flash_bwd_hdim96_bf16_softcap_sm90.cu │ │ ├── flash_bwd_hdim96_bf16_softcapall_sm90.cu │ │ ├── flash_bwd_hdim96_fp16_sm80.cu │ │ ├── flash_bwd_hdim96_fp16_sm90.cu │ │ ├── flash_bwd_hdim96_fp16_softcap_sm80.cu │ │ ├── flash_bwd_hdim96_fp16_softcap_sm90.cu │ │ ├── flash_bwd_hdim96_fp16_softcapall_sm90.cu │ │ ├── flash_fwd_hdim128_bf16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim128_bf16_paged_sm80.cu │ │ ├── flash_fwd_hdim128_bf16_paged_sm90.cu │ │ ├── flash_fwd_hdim128_bf16_paged_softcap_sm80.cu │ │ ├── flash_fwd_hdim128_bf16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim128_bf16_paged_softcapall_sm80.cu │ │ ├── flash_fwd_hdim128_bf16_paged_split_sm80.cu │ │ ├── flash_fwd_hdim128_bf16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim128_bf16_paged_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim128_bf16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim128_bf16_paged_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim128_bf16_sm100.cu │ │ ├── flash_fwd_hdim128_bf16_sm80.cu │ │ ├── flash_fwd_hdim128_bf16_sm90.cu │ │ ├── flash_fwd_hdim128_bf16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim128_bf16_softcap_sm80.cu │ │ ├── flash_fwd_hdim128_bf16_softcap_sm90.cu │ │ ├── flash_fwd_hdim128_bf16_softcapall_sm80.cu │ │ ├── flash_fwd_hdim128_bf16_split_sm80.cu │ │ ├── flash_fwd_hdim128_bf16_split_sm90.cu │ │ ├── flash_fwd_hdim128_bf16_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim128_bf16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim128_bf16_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim128_e4m3_packgqa_sm90.cu │ │ ├── flash_fwd_hdim128_e4m3_paged_sm90.cu │ │ ├── flash_fwd_hdim128_e4m3_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim128_e4m3_paged_split_sm90.cu │ │ ├── flash_fwd_hdim128_e4m3_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim128_e4m3_sm90.cu │ │ ├── flash_fwd_hdim128_e4m3_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim128_e4m3_softcap_sm90.cu │ │ ├── flash_fwd_hdim128_e4m3_split_sm90.cu │ │ ├── flash_fwd_hdim128_e4m3_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim128_fp16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim128_fp16_paged_sm80.cu │ │ ├── flash_fwd_hdim128_fp16_paged_sm90.cu │ │ ├── flash_fwd_hdim128_fp16_paged_softcap_sm80.cu │ │ ├── flash_fwd_hdim128_fp16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim128_fp16_paged_softcapall_sm80.cu │ │ ├── flash_fwd_hdim128_fp16_paged_split_sm80.cu │ │ ├── flash_fwd_hdim128_fp16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim128_fp16_paged_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim128_fp16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim128_fp16_paged_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim128_fp16_sm80.cu │ │ ├── flash_fwd_hdim128_fp16_sm90.cu │ │ ├── flash_fwd_hdim128_fp16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim128_fp16_softcap_sm80.cu │ │ ├── flash_fwd_hdim128_fp16_softcap_sm90.cu │ │ ├── flash_fwd_hdim128_fp16_softcapall_sm80.cu │ │ ├── flash_fwd_hdim128_fp16_split_sm80.cu │ │ ├── flash_fwd_hdim128_fp16_split_sm90.cu │ │ ├── flash_fwd_hdim128_fp16_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim128_fp16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim128_fp16_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim192_128_bf16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim192_128_bf16_paged_sm90.cu │ │ ├── flash_fwd_hdim192_128_bf16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_128_bf16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim192_128_bf16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_128_bf16_sm90.cu │ │ ├── flash_fwd_hdim192_128_bf16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim192_128_bf16_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_128_bf16_split_sm90.cu │ │ ├── flash_fwd_hdim192_128_bf16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_128_e4m3_packgqa_sm90.cu │ │ ├── flash_fwd_hdim192_128_e4m3_paged_sm90.cu │ │ ├── flash_fwd_hdim192_128_e4m3_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_128_e4m3_paged_split_sm90.cu │ │ ├── flash_fwd_hdim192_128_e4m3_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_128_e4m3_sm90.cu │ │ ├── flash_fwd_hdim192_128_e4m3_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim192_128_e4m3_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_128_e4m3_split_sm90.cu │ │ ├── flash_fwd_hdim192_128_e4m3_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_128_fp16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim192_128_fp16_paged_sm90.cu │ │ ├── flash_fwd_hdim192_128_fp16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_128_fp16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim192_128_fp16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_128_fp16_sm90.cu │ │ ├── flash_fwd_hdim192_128_fp16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim192_128_fp16_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_128_fp16_split_sm90.cu │ │ ├── flash_fwd_hdim192_128_fp16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_bf16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim192_bf16_paged_sm80.cu │ │ ├── flash_fwd_hdim192_bf16_paged_sm90.cu │ │ ├── flash_fwd_hdim192_bf16_paged_softcap_sm80.cu │ │ ├── flash_fwd_hdim192_bf16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_bf16_paged_softcapall_sm80.cu │ │ ├── flash_fwd_hdim192_bf16_paged_split_sm80.cu │ │ ├── flash_fwd_hdim192_bf16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim192_bf16_paged_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim192_bf16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_bf16_paged_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim192_bf16_sm80.cu │ │ ├── flash_fwd_hdim192_bf16_sm90.cu │ │ ├── flash_fwd_hdim192_bf16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim192_bf16_softcap_sm80.cu │ │ ├── flash_fwd_hdim192_bf16_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_bf16_softcapall_sm80.cu │ │ ├── flash_fwd_hdim192_bf16_split_sm80.cu │ │ ├── flash_fwd_hdim192_bf16_split_sm90.cu │ │ ├── flash_fwd_hdim192_bf16_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim192_bf16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_bf16_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim192_e4m3_packgqa_sm90.cu │ │ ├── flash_fwd_hdim192_e4m3_paged_sm90.cu │ │ ├── flash_fwd_hdim192_e4m3_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_e4m3_paged_split_sm90.cu │ │ ├── flash_fwd_hdim192_e4m3_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_e4m3_sm90.cu │ │ ├── flash_fwd_hdim192_e4m3_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim192_e4m3_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_e4m3_split_sm90.cu │ │ ├── flash_fwd_hdim192_e4m3_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_fp16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim192_fp16_paged_sm80.cu │ │ ├── flash_fwd_hdim192_fp16_paged_sm90.cu │ │ ├── flash_fwd_hdim192_fp16_paged_softcap_sm80.cu │ │ ├── flash_fwd_hdim192_fp16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_fp16_paged_softcapall_sm80.cu │ │ ├── flash_fwd_hdim192_fp16_paged_split_sm80.cu │ │ ├── flash_fwd_hdim192_fp16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim192_fp16_paged_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim192_fp16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_fp16_paged_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim192_fp16_sm80.cu │ │ ├── flash_fwd_hdim192_fp16_sm90.cu │ │ ├── flash_fwd_hdim192_fp16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim192_fp16_softcap_sm80.cu │ │ ├── flash_fwd_hdim192_fp16_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_fp16_softcapall_sm80.cu │ │ ├── flash_fwd_hdim192_fp16_split_sm80.cu │ │ ├── flash_fwd_hdim192_fp16_split_sm90.cu │ │ ├── flash_fwd_hdim192_fp16_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim192_fp16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim192_fp16_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim256_bf16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim256_bf16_paged_sm80.cu │ │ ├── flash_fwd_hdim256_bf16_paged_sm90.cu │ │ ├── flash_fwd_hdim256_bf16_paged_softcap_sm80.cu │ │ ├── flash_fwd_hdim256_bf16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim256_bf16_paged_softcapall_sm80.cu │ │ ├── flash_fwd_hdim256_bf16_paged_split_sm80.cu │ │ ├── flash_fwd_hdim256_bf16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim256_bf16_paged_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim256_bf16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim256_bf16_paged_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim256_bf16_sm80.cu │ │ ├── flash_fwd_hdim256_bf16_sm90.cu │ │ ├── flash_fwd_hdim256_bf16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim256_bf16_softcap_sm80.cu │ │ ├── flash_fwd_hdim256_bf16_softcap_sm90.cu │ │ ├── flash_fwd_hdim256_bf16_softcapall_sm80.cu │ │ ├── flash_fwd_hdim256_bf16_split_sm80.cu │ │ ├── flash_fwd_hdim256_bf16_split_sm90.cu │ │ ├── flash_fwd_hdim256_bf16_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim256_bf16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim256_bf16_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim256_e4m3_packgqa_sm90.cu │ │ ├── flash_fwd_hdim256_e4m3_paged_sm90.cu │ │ ├── flash_fwd_hdim256_e4m3_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim256_e4m3_paged_split_sm90.cu │ │ ├── flash_fwd_hdim256_e4m3_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim256_e4m3_sm90.cu │ │ ├── flash_fwd_hdim256_e4m3_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim256_e4m3_softcap_sm90.cu │ │ ├── flash_fwd_hdim256_e4m3_split_sm90.cu │ │ ├── flash_fwd_hdim256_e4m3_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim256_fp16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim256_fp16_paged_sm80.cu │ │ ├── flash_fwd_hdim256_fp16_paged_sm90.cu │ │ ├── flash_fwd_hdim256_fp16_paged_softcap_sm80.cu │ │ ├── flash_fwd_hdim256_fp16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim256_fp16_paged_softcapall_sm80.cu │ │ ├── flash_fwd_hdim256_fp16_paged_split_sm80.cu │ │ ├── flash_fwd_hdim256_fp16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim256_fp16_paged_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim256_fp16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim256_fp16_paged_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim256_fp16_sm80.cu │ │ ├── flash_fwd_hdim256_fp16_sm90.cu │ │ ├── flash_fwd_hdim256_fp16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim256_fp16_softcap_sm80.cu │ │ ├── flash_fwd_hdim256_fp16_softcap_sm90.cu │ │ ├── flash_fwd_hdim256_fp16_softcapall_sm80.cu │ │ ├── flash_fwd_hdim256_fp16_split_sm80.cu │ │ ├── flash_fwd_hdim256_fp16_split_sm90.cu │ │ ├── flash_fwd_hdim256_fp16_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim256_fp16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim256_fp16_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim64_256_bf16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim64_256_bf16_paged_sm90.cu │ │ ├── flash_fwd_hdim64_256_bf16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_256_bf16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim64_256_bf16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_256_bf16_sm90.cu │ │ ├── flash_fwd_hdim64_256_bf16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim64_256_bf16_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_256_bf16_split_sm90.cu │ │ ├── flash_fwd_hdim64_256_bf16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_256_fp16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim64_256_fp16_paged_sm90.cu │ │ ├── flash_fwd_hdim64_256_fp16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_256_fp16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim64_256_fp16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_256_fp16_sm90.cu │ │ ├── flash_fwd_hdim64_256_fp16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim64_256_fp16_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_256_fp16_split_sm90.cu │ │ ├── flash_fwd_hdim64_256_fp16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_512_bf16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim64_512_bf16_paged_sm90.cu │ │ ├── flash_fwd_hdim64_512_bf16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_512_bf16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim64_512_bf16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_512_bf16_sm90.cu │ │ ├── flash_fwd_hdim64_512_bf16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim64_512_bf16_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_512_bf16_split_sm90.cu │ │ ├── flash_fwd_hdim64_512_bf16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_512_fp16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim64_512_fp16_paged_sm90.cu │ │ ├── flash_fwd_hdim64_512_fp16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_512_fp16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim64_512_fp16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_512_fp16_sm90.cu │ │ ├── flash_fwd_hdim64_512_fp16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim64_512_fp16_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_512_fp16_split_sm90.cu │ │ ├── flash_fwd_hdim64_512_fp16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_bf16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim64_bf16_paged_sm80.cu │ │ ├── flash_fwd_hdim64_bf16_paged_sm90.cu │ │ ├── flash_fwd_hdim64_bf16_paged_softcap_sm80.cu │ │ ├── flash_fwd_hdim64_bf16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_bf16_paged_softcapall_sm80.cu │ │ ├── flash_fwd_hdim64_bf16_paged_split_sm80.cu │ │ ├── flash_fwd_hdim64_bf16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim64_bf16_paged_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim64_bf16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_bf16_paged_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim64_bf16_sm80.cu │ │ ├── flash_fwd_hdim64_bf16_sm90.cu │ │ ├── flash_fwd_hdim64_bf16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim64_bf16_softcap_sm80.cu │ │ ├── flash_fwd_hdim64_bf16_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_bf16_softcapall_sm80.cu │ │ ├── flash_fwd_hdim64_bf16_split_sm80.cu │ │ ├── flash_fwd_hdim64_bf16_split_sm90.cu │ │ ├── flash_fwd_hdim64_bf16_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim64_bf16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_bf16_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim64_e4m3_packgqa_sm90.cu │ │ ├── flash_fwd_hdim64_e4m3_paged_sm90.cu │ │ ├── flash_fwd_hdim64_e4m3_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_e4m3_paged_split_sm90.cu │ │ ├── flash_fwd_hdim64_e4m3_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_e4m3_sm90.cu │ │ ├── flash_fwd_hdim64_e4m3_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim64_e4m3_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_e4m3_split_sm90.cu │ │ ├── flash_fwd_hdim64_e4m3_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_fp16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim64_fp16_paged_sm80.cu │ │ ├── flash_fwd_hdim64_fp16_paged_sm90.cu │ │ ├── flash_fwd_hdim64_fp16_paged_softcap_sm80.cu │ │ ├── flash_fwd_hdim64_fp16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_fp16_paged_softcapall_sm80.cu │ │ ├── flash_fwd_hdim64_fp16_paged_split_sm80.cu │ │ ├── flash_fwd_hdim64_fp16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim64_fp16_paged_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim64_fp16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_fp16_paged_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim64_fp16_sm80.cu │ │ ├── flash_fwd_hdim64_fp16_sm90.cu │ │ ├── flash_fwd_hdim64_fp16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim64_fp16_softcap_sm80.cu │ │ ├── flash_fwd_hdim64_fp16_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_fp16_softcapall_sm80.cu │ │ ├── flash_fwd_hdim64_fp16_split_sm80.cu │ │ ├── flash_fwd_hdim64_fp16_split_sm90.cu │ │ ├── flash_fwd_hdim64_fp16_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim64_fp16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim64_fp16_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim96_bf16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim96_bf16_paged_sm80.cu │ │ ├── flash_fwd_hdim96_bf16_paged_sm90.cu │ │ ├── flash_fwd_hdim96_bf16_paged_softcap_sm80.cu │ │ ├── flash_fwd_hdim96_bf16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim96_bf16_paged_softcapall_sm80.cu │ │ ├── flash_fwd_hdim96_bf16_paged_split_sm80.cu │ │ ├── flash_fwd_hdim96_bf16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim96_bf16_paged_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim96_bf16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim96_bf16_paged_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim96_bf16_sm80.cu │ │ ├── flash_fwd_hdim96_bf16_sm90.cu │ │ ├── flash_fwd_hdim96_bf16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim96_bf16_softcap_sm80.cu │ │ ├── flash_fwd_hdim96_bf16_softcap_sm90.cu │ │ ├── flash_fwd_hdim96_bf16_softcapall_sm80.cu │ │ ├── flash_fwd_hdim96_bf16_split_sm80.cu │ │ ├── flash_fwd_hdim96_bf16_split_sm90.cu │ │ ├── flash_fwd_hdim96_bf16_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim96_bf16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim96_bf16_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim96_e4m3_packgqa_sm90.cu │ │ ├── flash_fwd_hdim96_e4m3_paged_sm90.cu │ │ ├── flash_fwd_hdim96_e4m3_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim96_e4m3_paged_split_sm90.cu │ │ ├── flash_fwd_hdim96_e4m3_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim96_e4m3_sm90.cu │ │ ├── flash_fwd_hdim96_e4m3_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim96_e4m3_softcap_sm90.cu │ │ ├── flash_fwd_hdim96_e4m3_split_sm90.cu │ │ ├── flash_fwd_hdim96_e4m3_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim96_fp16_packgqa_sm90.cu │ │ ├── flash_fwd_hdim96_fp16_paged_sm80.cu │ │ ├── flash_fwd_hdim96_fp16_paged_sm90.cu │ │ ├── flash_fwd_hdim96_fp16_paged_softcap_sm80.cu │ │ ├── flash_fwd_hdim96_fp16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdim96_fp16_paged_softcapall_sm80.cu │ │ ├── flash_fwd_hdim96_fp16_paged_split_sm80.cu │ │ ├── flash_fwd_hdim96_fp16_paged_split_sm90.cu │ │ ├── flash_fwd_hdim96_fp16_paged_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim96_fp16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim96_fp16_paged_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdim96_fp16_sm80.cu │ │ ├── flash_fwd_hdim96_fp16_sm90.cu │ │ ├── flash_fwd_hdim96_fp16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdim96_fp16_softcap_sm80.cu │ │ ├── flash_fwd_hdim96_fp16_softcap_sm90.cu │ │ ├── flash_fwd_hdim96_fp16_softcapall_sm80.cu │ │ ├── flash_fwd_hdim96_fp16_split_sm80.cu │ │ ├── flash_fwd_hdim96_fp16_split_sm90.cu │ │ ├── flash_fwd_hdim96_fp16_split_softcap_sm80.cu │ │ ├── flash_fwd_hdim96_fp16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdim96_fp16_split_softcapall_sm80.cu │ │ ├── flash_fwd_hdimall_bf16_packgqa_sm90.cu │ │ ├── flash_fwd_hdimall_bf16_paged_sm90.cu │ │ ├── flash_fwd_hdimall_bf16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdimall_bf16_paged_split_sm90.cu │ │ ├── flash_fwd_hdimall_bf16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdimall_bf16_sm90.cu │ │ ├── flash_fwd_hdimall_bf16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdimall_bf16_softcap_sm90.cu │ │ ├── flash_fwd_hdimall_bf16_split_sm90.cu │ │ ├── flash_fwd_hdimall_bf16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdimall_e4m3_packgqa_sm90.cu │ │ ├── flash_fwd_hdimall_e4m3_paged_sm90.cu │ │ ├── flash_fwd_hdimall_e4m3_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdimall_e4m3_paged_split_sm90.cu │ │ ├── flash_fwd_hdimall_e4m3_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdimall_e4m3_sm90.cu │ │ ├── flash_fwd_hdimall_e4m3_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdimall_e4m3_softcap_sm90.cu │ │ ├── flash_fwd_hdimall_e4m3_split_sm90.cu │ │ ├── flash_fwd_hdimall_e4m3_split_softcap_sm90.cu │ │ ├── flash_fwd_hdimall_fp16_packgqa_sm90.cu │ │ ├── flash_fwd_hdimall_fp16_paged_sm90.cu │ │ ├── flash_fwd_hdimall_fp16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdimall_fp16_paged_split_sm90.cu │ │ ├── flash_fwd_hdimall_fp16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdimall_fp16_sm90.cu │ │ ├── flash_fwd_hdimall_fp16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdimall_fp16_softcap_sm90.cu │ │ ├── flash_fwd_hdimall_fp16_split_sm90.cu │ │ ├── flash_fwd_hdimall_fp16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdimdiff_bf16_packgqa_sm90.cu │ │ ├── flash_fwd_hdimdiff_bf16_paged_sm90.cu │ │ ├── flash_fwd_hdimdiff_bf16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdimdiff_bf16_paged_split_sm90.cu │ │ ├── flash_fwd_hdimdiff_bf16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdimdiff_bf16_sm90.cu │ │ ├── flash_fwd_hdimdiff_bf16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdimdiff_bf16_softcap_sm90.cu │ │ ├── flash_fwd_hdimdiff_bf16_split_sm90.cu │ │ ├── flash_fwd_hdimdiff_bf16_split_softcap_sm90.cu │ │ ├── flash_fwd_hdimdiff_e4m3_packgqa_sm90.cu │ │ ├── flash_fwd_hdimdiff_e4m3_paged_sm90.cu │ │ ├── flash_fwd_hdimdiff_e4m3_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdimdiff_e4m3_paged_split_sm90.cu │ │ ├── flash_fwd_hdimdiff_e4m3_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdimdiff_e4m3_sm90.cu │ │ ├── flash_fwd_hdimdiff_e4m3_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdimdiff_e4m3_softcap_sm90.cu │ │ ├── flash_fwd_hdimdiff_e4m3_split_sm90.cu │ │ ├── flash_fwd_hdimdiff_e4m3_split_softcap_sm90.cu │ │ ├── flash_fwd_hdimdiff_fp16_packgqa_sm90.cu │ │ ├── flash_fwd_hdimdiff_fp16_paged_sm90.cu │ │ ├── flash_fwd_hdimdiff_fp16_paged_softcap_sm90.cu │ │ ├── flash_fwd_hdimdiff_fp16_paged_split_sm90.cu │ │ ├── flash_fwd_hdimdiff_fp16_paged_split_softcap_sm90.cu │ │ ├── flash_fwd_hdimdiff_fp16_sm90.cu │ │ ├── flash_fwd_hdimdiff_fp16_softcap_packgqa_sm90.cu │ │ ├── flash_fwd_hdimdiff_fp16_softcap_sm90.cu │ │ ├── flash_fwd_hdimdiff_fp16_split_sm90.cu │ │ └── flash_fwd_hdimdiff_fp16_split_softcap_sm90.cu │ ├── mainloop_bwd_sm80.hpp │ ├── mainloop_bwd_sm90_tma_gmma_ws.hpp │ ├── mainloop_fwd_sm80.hpp │ ├── mainloop_fwd_sm90_tma_gmma_ws.hpp │ ├── mask.h │ ├── named_barrier.hpp │ ├── pack_gqa.h │ ├── padding.py │ ├── paged_kv.h │ ├── rotary.h │ ├── seqlen.h │ ├── setup.py │ ├── sm90_pipeline_no_cluster.hpp │ ├── softmax.h │ ├── static_switch.h │ ├── test_attn_kvcache.py │ ├── test_flash_attn.py │ ├── test_flash_attn_bwd_determinism.py │ ├── test_flash_attn_triton_amd.py │ ├── test_kvcache.py │ ├── test_torch_compile_and_export.py │ ├── test_util.py │ ├── tile_scheduler.hpp │ ├── tile_size.h │ └── utils.h ├── setup.py ├── tests/ │ ├── cute/ │ │ ├── benchmark_block_sparsity.py │ │ ├── benchmark_mask_mod.py │ │ ├── conftest.py │ │ ├── mask_mod_definitions.py │ │ ├── score_mod_definitions.py │ │ ├── test_block_sparsity.py │ │ ├── test_flash_attn.py │ │ ├── test_flash_attn_combine.py │ │ ├── test_flash_attn_fast.py │ │ ├── test_flash_attn_race_condition.py │ │ ├── test_flash_attn_varlen.py │ │ ├── test_mask_mod.py │ │ ├── test_score_mod.py │ │ ├── test_score_mod_varlen.py │ │ └── test_utils.py │ ├── layers/ │ │ └── test_rotary.py │ ├── losses/ │ │ ├── test_cross_entropy.py │ │ └── test_cross_entropy_parallel.py │ ├── models/ │ │ ├── test_baichuan.py │ │ ├── test_bert.py │ │ ├── test_bigcode.py │ │ ├── test_btlm.py │ │ ├── test_falcon.py │ │ ├── test_gpt.py │ │ ├── test_gpt_generation_parallel.py │ │ ├── test_gpt_neox.py │ │ ├── test_gpt_parallel.py │ │ ├── test_gptj.py │ │ ├── test_llama.py │ │ ├── test_opt.py │ │ └── test_vit.py │ ├── modules/ │ │ ├── test_block_parallel.py │ │ ├── test_embedding_parallel.py │ │ ├── test_mha_parallel.py │ │ └── test_mlp_parallel.py │ ├── ops/ │ │ ├── test_dropout_layer_norm.py │ │ ├── test_fused_dense.py │ │ ├── test_fused_dense_parallel.py │ │ └── triton/ │ │ └── test_layer_norm.py │ ├── pyproject.toml │ ├── test_flash_attn.py │ ├── test_flash_attn_ck.py │ ├── test_flash_attn_triton_amd.py │ ├── test_rotary.py │ └── test_util.py ├── tools/ │ └── sass_diff.py ├── training/ │ ├── Dockerfile │ ├── README.md │ ├── configs/ │ │ ├── callbacks/ │ │ │ ├── causality-monitor.yaml │ │ │ ├── default.yaml │ │ │ ├── ema.yaml │ │ │ ├── flop-count.yaml │ │ │ ├── gpu-monitor.yaml │ │ │ ├── model-summary.yaml │ │ │ ├── none.yaml │ │ │ ├── norm-monitor.yaml │ │ │ ├── params-log.yaml │ │ │ └── wandb.yaml │ │ ├── config.yaml │ │ ├── datamodule/ │ │ │ ├── openwebtext.yaml │ │ │ └── thepile.yaml │ │ ├── experiment/ │ │ │ ├── owt/ │ │ │ │ ├── base.yaml │ │ │ │ ├── gpt2l-flash.yaml │ │ │ │ ├── gpt2l-hf.yaml │ │ │ │ ├── gpt2l.yaml │ │ │ │ ├── gpt2m-flash.yaml │ │ │ │ ├── gpt2m-hf.yaml │ │ │ │ ├── gpt2m.yaml │ │ │ │ ├── gpt2s-flash.yaml │ │ │ │ ├── gpt2s-hf.yaml │ │ │ │ ├── gpt2s.yaml │ │ │ │ ├── gpt2xl-flash.yaml │ │ │ │ ├── gpt2xl-hf.yaml │ │ │ │ └── gpt2xl.yaml │ │ │ └── pile/ │ │ │ ├── base.yaml │ │ │ ├── gpt3-2.7B-flash-8k.yaml │ │ │ ├── gpt3-2.7B-flash-hdim128-rotary-8k.yaml │ │ │ ├── gpt3-2.7B-flash-hdim128-rotary.yaml │ │ │ ├── gpt3-2.7B-flash-hdim128.yaml │ │ │ ├── gpt3-2.7B-flash-rotary-8k.yaml │ │ │ ├── gpt3-2.7B-flash-rotary.yaml │ │ │ ├── gpt3-2.7B-flash.yaml │ │ │ ├── gpt3-2.7B-hf-hdim128.yaml │ │ │ ├── gpt3-2.7B-hf.yaml │ │ │ ├── gpt3l-flash-8k.yaml │ │ │ ├── gpt3l-flash-rotary-30B.yaml │ │ │ ├── gpt3l-flash-rotary-8k.yaml │ │ │ ├── gpt3l-flash-rotary.yaml │ │ │ ├── gpt3l-flash.yaml │ │ │ ├── gpt3l-hf.yaml │ │ │ ├── gpt3m-flash-8k.yaml │ │ │ ├── gpt3m-flash-rotary-30B.yaml │ │ │ ├── gpt3m-flash-rotary-8k.yaml │ │ │ ├── gpt3m-flash-rotary.yaml │ │ │ ├── gpt3m-flash.yaml │ │ │ ├── gpt3m-hf.yaml │ │ │ ├── gpt3s-flash-8k.yaml │ │ │ ├── gpt3s-flash-rotary-30B.yaml │ │ │ ├── gpt3s-flash-rotary-8k.yaml │ │ │ ├── gpt3s-flash-rotary.yaml │ │ │ ├── gpt3s-flash.yaml │ │ │ ├── gpt3s-hf.yaml │ │ │ ├── gpt3xl-flash-8k.yaml │ │ │ ├── gpt3xl-flash-rotary-60B.yaml │ │ │ ├── gpt3xl-flash-rotary-8k.yaml │ │ │ ├── gpt3xl-flash-rotary.yaml │ │ │ ├── gpt3xl-flash.yaml │ │ │ └── gpt3xl-hf.yaml │ │ ├── logger/ │ │ │ ├── comet.yaml │ │ │ ├── csv.yaml │ │ │ ├── many_loggers.yaml │ │ │ ├── mlflow.yaml │ │ │ ├── neptune.yaml │ │ │ ├── tensorboard.yaml │ │ │ └── wandb.yaml │ │ ├── metrics/ │ │ │ ├── acc.yaml │ │ │ ├── acc_ignore_index.yaml │ │ │ ├── acctop5.yaml │ │ │ ├── mse.yaml │ │ │ ├── num-tokens.yaml │ │ │ └── perplexity.yaml │ │ ├── mode/ │ │ │ ├── debug.yaml │ │ │ ├── default.yaml │ │ │ ├── exp.yaml │ │ │ ├── profile.yaml │ │ │ └── smoke.yaml │ │ ├── model/ │ │ │ ├── gpt2-hf.yaml │ │ │ ├── gpt2.yaml │ │ │ └── gpt2model/ │ │ │ ├── gpt2-large.yaml │ │ │ ├── gpt2-medium.yaml │ │ │ ├── gpt2-small.yaml │ │ │ └── gpt2-xlarge.yaml │ │ ├── optimizer/ │ │ │ ├── adam.yaml │ │ │ ├── adamw-apex-distributed.yaml │ │ │ ├── adamw-apex-zero.yaml │ │ │ ├── adamw-apex.yaml │ │ │ ├── adamw-zero.yaml │ │ │ ├── adamw.yaml │ │ │ ├── fusedlamb-ds.yaml │ │ │ ├── fusedlamb.yaml │ │ │ └── sgd.yaml │ │ ├── scheduler/ │ │ │ ├── cosine-warmup-timm.yaml │ │ │ ├── cosine-warmup.yaml │ │ │ ├── invsqrt.yaml │ │ │ ├── linear-warmup.yaml │ │ │ ├── multi-step.yaml │ │ │ ├── plateau.yaml │ │ │ ├── poly-warmup.yaml │ │ │ └── step.yaml │ │ ├── task/ │ │ │ └── sequence-model.yaml │ │ └── trainer/ │ │ ├── all_params.yaml │ │ ├── ddp.yaml │ │ ├── debug.yaml │ │ └── default.yaml │ ├── run.py │ ├── src/ │ │ ├── callbacks/ │ │ │ ├── __init__.py │ │ │ ├── causality_monitor.py │ │ │ ├── ema.py │ │ │ ├── flop_count.py │ │ │ ├── gpu_affinity.py │ │ │ ├── loss_scale_monitor.py │ │ │ ├── model_checkpoint.py │ │ │ ├── norm_monitor.py │ │ │ ├── params_log.py │ │ │ ├── speed_monitor.py │ │ │ └── wandb_callbacks.py │ │ ├── datamodules/ │ │ │ ├── datasets/ │ │ │ │ ├── detokenizer.py │ │ │ │ └── lm_dataset.py │ │ │ ├── fault_tolerant_sampler.py │ │ │ ├── imagenet.py │ │ │ ├── language_modeling_hf.py │ │ │ └── timm_mixup.py │ │ ├── distributed/ │ │ │ └── ddp_comm_hooks.py │ │ ├── eval.py │ │ ├── metrics/ │ │ │ ├── accuracy.py │ │ │ ├── num_tokens.py │ │ │ └── perplexity.py │ │ ├── models/ │ │ │ └── modules/ │ │ │ └── seq_common.py │ │ ├── optim/ │ │ │ ├── param_grouping.py │ │ │ └── timm_lr_scheduler.py │ │ ├── tasks/ │ │ │ └── seq.py │ │ ├── train.py │ │ └── utils/ │ │ ├── checkpoint.py │ │ ├── ddp_zero1.py │ │ ├── ddp_zero2.py │ │ ├── distributed.py │ │ ├── ema.py │ │ ├── flops.py │ │ ├── gpu_affinity.py │ │ └── utils.py │ └── tests/ │ └── datamodules/ │ └── test_language_modeling_hf.py └── usage.md