flashinfer-python 0.2.1.post1__tar.gz → 0.2.1.post2__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.
Files changed (1189) hide show
  1. {flashinfer_python-0.2.1.post1/flashinfer_python.egg-info → flashinfer_python-0.2.1.post2}/PKG-INFO +4 -3
  2. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/README.md +3 -2
  3. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_decode_mla_config.jinja +2 -0
  4. flashinfer_python-0.2.1.post2/csrc/batch_decode_mla_cute_sm80.cu +107 -0
  5. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_mla_run.cu +8 -1
  6. flashinfer_python-0.2.1.post2/flashinfer/_build_meta.py +1 -0
  7. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/decode.py +68 -16
  8. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/jit/attention.py +43 -12
  9. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/mla.py +32 -10
  10. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/prefill.py +56 -11
  11. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/sparse.py +20 -6
  12. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/utils.py +21 -0
  13. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2/flashinfer_python.egg-info}/PKG-INFO +4 -3
  14. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer_python.egg-info/SOURCES.txt +4 -531
  15. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/cascade.cuh +2 -5
  16. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/decode.cuh +6 -1
  17. flashinfer_python-0.2.1.post2/include/flashinfer/attention/decode_mla_cute_sm80.cuh +559 -0
  18. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/mla_fa2.cuh +107 -19
  19. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/mla_params.cuh +4 -0
  20. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/scheduler.cuh +191 -30
  21. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/cp_async.cuh +1 -0
  22. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_batch_decode_kernels.py +5 -0
  23. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_batch_prefill_kernels.py +5 -0
  24. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_block_sparse.py +5 -0
  25. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_deepseek_mla.py +14 -0
  26. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_mla_decode_kernel.py +1 -1
  27. flashinfer_python-0.2.1.post2/version.txt +1 -0
  28. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_128_posenc_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -28
  29. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_128_posenc_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -28
  30. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_128_posenc_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -28
  31. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_128_posenc_0_dtypeq_e4m3_dtypekv_e4m3_dtypeout_e4m3_idtype_i32.cu +0 -28
  32. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_128_posenc_0_dtypeq_e5m2_dtypekv_e5m2_dtypeout_e5m2_idtype_i32.cu +0 -28
  33. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_128_posenc_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -28
  34. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_128_posenc_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -28
  35. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_128_posenc_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -28
  36. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_256_posenc_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -28
  37. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_256_posenc_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -28
  38. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_256_posenc_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -28
  39. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_256_posenc_0_dtypeq_e4m3_dtypekv_e4m3_dtypeout_e4m3_idtype_i32.cu +0 -28
  40. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_256_posenc_0_dtypeq_e5m2_dtypekv_e5m2_dtypeout_e5m2_idtype_i32.cu +0 -28
  41. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_256_posenc_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -28
  42. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_256_posenc_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -28
  43. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_256_posenc_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -28
  44. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_64_posenc_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -28
  45. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_64_posenc_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -28
  46. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_64_posenc_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -28
  47. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_64_posenc_0_dtypeq_e4m3_dtypekv_e4m3_dtypeout_e4m3_idtype_i32.cu +0 -28
  48. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_64_posenc_0_dtypeq_e5m2_dtypekv_e5m2_dtypeout_e5m2_idtype_i32.cu +0 -28
  49. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_64_posenc_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -28
  50. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_64_posenc_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -28
  51. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_decode_head_64_posenc_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -28
  52. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -45
  53. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -84
  54. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -45
  55. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -45
  56. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -45
  57. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -45
  58. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -45
  59. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -84
  60. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -45
  61. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -84
  62. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -45
  63. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -45
  64. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -45
  65. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -45
  66. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -45
  67. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -84
  68. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -45
  69. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -84
  70. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -45
  71. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -45
  72. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -45
  73. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -45
  74. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -45
  75. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -84
  76. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -45
  77. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -84
  78. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -45
  79. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -45
  80. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -45
  81. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -45
  82. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -45
  83. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -84
  84. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -45
  85. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -84
  86. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -45
  87. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -45
  88. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -45
  89. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -45
  90. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -45
  91. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -84
  92. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -45
  93. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -84
  94. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -45
  95. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -45
  96. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -45
  97. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -45
  98. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -45
  99. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -84
  100. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -45
  101. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -84
  102. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -45
  103. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -45
  104. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -45
  105. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -45
  106. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -45
  107. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -84
  108. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -45
  109. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -84
  110. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -45
  111. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -45
  112. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -45
  113. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -45
  114. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -45
  115. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -84
  116. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -45
  117. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -84
  118. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -45
  119. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -45
  120. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -45
  121. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -45
  122. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -45
  123. flashinfer_python-0.2.1.post1/csrc/generated/batch_paged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -84
  124. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -46
  125. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -77
  126. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -46
  127. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -46
  128. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -46
  129. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -46
  130. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -46
  131. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -77
  132. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -46
  133. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -77
  134. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -46
  135. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -46
  136. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -46
  137. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -46
  138. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -46
  139. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -77
  140. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -46
  141. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -77
  142. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -46
  143. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -46
  144. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -46
  145. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -46
  146. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -46
  147. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -77
  148. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -46
  149. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -77
  150. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -46
  151. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -46
  152. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -46
  153. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -46
  154. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -46
  155. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -77
  156. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -46
  157. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -77
  158. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -46
  159. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -46
  160. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -46
  161. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -46
  162. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -46
  163. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -77
  164. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -46
  165. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -77
  166. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -46
  167. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -46
  168. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -46
  169. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -46
  170. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -46
  171. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -77
  172. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -46
  173. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -77
  174. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -46
  175. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -46
  176. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -46
  177. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -46
  178. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -46
  179. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -77
  180. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -46
  181. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -77
  182. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -46
  183. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -46
  184. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -46
  185. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -46
  186. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -46
  187. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -77
  188. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +0 -46
  189. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +0 -77
  190. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +0 -46
  191. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +0 -46
  192. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +0 -46
  193. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +0 -46
  194. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +0 -46
  195. flashinfer_python-0.2.1.post1/csrc/generated/batch_ragged_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +0 -77
  196. flashinfer_python-0.2.1.post1/csrc/generated/dispatch.inc +0 -19
  197. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_128_posenc_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +0 -19
  198. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_128_posenc_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +0 -19
  199. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_128_posenc_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +0 -19
  200. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_128_posenc_0_dtypeq_e4m3_dtypekv_e4m3_dtypeout_e4m3.cu +0 -19
  201. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_128_posenc_0_dtypeq_e5m2_dtypekv_e5m2_dtypeout_e5m2.cu +0 -19
  202. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_128_posenc_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +0 -19
  203. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_128_posenc_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +0 -19
  204. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_128_posenc_0_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +0 -19
  205. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_256_posenc_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +0 -19
  206. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_256_posenc_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +0 -19
  207. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_256_posenc_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +0 -19
  208. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_256_posenc_0_dtypeq_e4m3_dtypekv_e4m3_dtypeout_e4m3.cu +0 -19
  209. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_256_posenc_0_dtypeq_e5m2_dtypekv_e5m2_dtypeout_e5m2.cu +0 -19
  210. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_256_posenc_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +0 -19
  211. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_256_posenc_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +0 -19
  212. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_256_posenc_0_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +0 -19
  213. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_64_posenc_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +0 -19
  214. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_64_posenc_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +0 -19
  215. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_64_posenc_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +0 -19
  216. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_64_posenc_0_dtypeq_e4m3_dtypekv_e4m3_dtypeout_e4m3.cu +0 -19
  217. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_64_posenc_0_dtypeq_e5m2_dtypekv_e5m2_dtypeout_e5m2.cu +0 -19
  218. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_64_posenc_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +0 -19
  219. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_64_posenc_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +0 -19
  220. flashinfer_python-0.2.1.post1/csrc/generated/single_decode_head_64_posenc_0_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +0 -19
  221. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +0 -20
  222. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +0 -32
  223. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +0 -20
  224. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +0 -20
  225. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +0 -20
  226. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +0 -20
  227. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +0 -20
  228. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +0 -32
  229. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +0 -20
  230. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +0 -32
  231. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +0 -20
  232. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +0 -20
  233. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +0 -20
  234. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +0 -20
  235. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +0 -20
  236. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +0 -32
  237. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +0 -20
  238. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +0 -32
  239. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +0 -20
  240. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +0 -20
  241. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +0 -20
  242. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +0 -20
  243. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +0 -20
  244. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +0 -32
  245. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +0 -20
  246. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +0 -32
  247. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +0 -20
  248. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +0 -20
  249. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +0 -20
  250. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +0 -20
  251. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +0 -20
  252. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +0 -32
  253. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +0 -20
  254. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +0 -32
  255. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +0 -20
  256. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +0 -20
  257. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +0 -20
  258. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +0 -20
  259. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +0 -20
  260. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +0 -32
  261. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +0 -20
  262. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +0 -32
  263. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +0 -20
  264. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +0 -20
  265. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +0 -20
  266. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +0 -20
  267. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +0 -20
  268. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +0 -32
  269. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +0 -20
  270. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +0 -32
  271. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +0 -20
  272. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +0 -20
  273. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +0 -20
  274. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +0 -20
  275. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +0 -20
  276. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +0 -32
  277. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +0 -20
  278. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +0 -32
  279. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +0 -20
  280. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +0 -20
  281. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +0 -20
  282. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +0 -20
  283. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +0 -20
  284. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +0 -32
  285. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +0 -20
  286. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +0 -32
  287. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +0 -20
  288. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +0 -20
  289. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +0 -20
  290. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +0 -20
  291. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +0 -20
  292. flashinfer_python-0.2.1.post1/csrc/generated/single_prefill_head_64_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +0 -32
  293. flashinfer_python-0.2.1.post1/flashinfer/_build_meta.py +0 -1
  294. flashinfer_python-0.2.1.post1/flashinfer/jit/aot_config.py +0 -1
  295. flashinfer_python-0.2.1.post1/version.txt +0 -1
  296. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/algorithm/axpby.hpp +0 -0
  297. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/algorithm/clear.hpp +0 -0
  298. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/algorithm/cooperative_copy.hpp +0 -0
  299. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/algorithm/cooperative_gemm.hpp +0 -0
  300. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/algorithm/copy.hpp +0 -0
  301. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/algorithm/fill.hpp +0 -0
  302. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/algorithm/functional.hpp +0 -0
  303. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/algorithm/gemm.hpp +0 -0
  304. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/algorithm/prefer.hpp +0 -0
  305. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/algorithm/prefetch.hpp +0 -0
  306. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/algorithm/tensor_algorithms.hpp +0 -0
  307. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/algorithm/tuple_algorithms.hpp +0 -0
  308. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/cluster_sm90.hpp +0 -0
  309. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/config.hpp +0 -0
  310. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/copy.hpp +0 -0
  311. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/copy_sm50.hpp +0 -0
  312. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/copy_sm75.hpp +0 -0
  313. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/copy_sm80.hpp +0 -0
  314. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/copy_sm90.hpp +0 -0
  315. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/copy_sm90_desc.hpp +0 -0
  316. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/copy_sm90_tma.hpp +0 -0
  317. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/mma.hpp +0 -0
  318. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/mma_sm61.hpp +0 -0
  319. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/mma_sm70.hpp +0 -0
  320. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/mma_sm75.hpp +0 -0
  321. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/mma_sm80.hpp +0 -0
  322. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/mma_sm90.hpp +0 -0
  323. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/mma_sm90_desc.hpp +0 -0
  324. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/mma_sm90_gmma.hpp +0 -0
  325. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/mma_sm90_gmma_sparse.hpp +0 -0
  326. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/arch/util.hpp +0 -0
  327. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/copy_atom.hpp +0 -0
  328. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/copy_traits.hpp +0 -0
  329. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/copy_traits_sm50.hpp +0 -0
  330. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/copy_traits_sm75.hpp +0 -0
  331. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/copy_traits_sm80.hpp +0 -0
  332. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/copy_traits_sm90.hpp +0 -0
  333. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/copy_traits_sm90_im2col.hpp +0 -0
  334. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/copy_traits_sm90_tma.hpp +0 -0
  335. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/copy_traits_sm90_tma_swizzle.hpp +0 -0
  336. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/mma_atom.hpp +0 -0
  337. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/mma_traits.hpp +0 -0
  338. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/mma_traits_sm61.hpp +0 -0
  339. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/mma_traits_sm70.hpp +0 -0
  340. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/mma_traits_sm75.hpp +0 -0
  341. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/mma_traits_sm80.hpp +0 -0
  342. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/mma_traits_sm90.hpp +0 -0
  343. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/mma_traits_sm90_gmma.hpp +0 -0
  344. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/atom/mma_traits_sm90_gmma_sparse.hpp +0 -0
  345. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/config.hpp +0 -0
  346. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/container/alignment.hpp +0 -0
  347. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/container/array.hpp +0 -0
  348. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/container/array_aligned.hpp +0 -0
  349. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/container/array_subbyte.hpp +0 -0
  350. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/container/bit_field.hpp +0 -0
  351. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/container/cuda_types.hpp +0 -0
  352. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/container/packed_tuple.hpp +0 -0
  353. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/container/tuple.hpp +0 -0
  354. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/container/type_list.hpp +0 -0
  355. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/int_tuple.hpp +0 -0
  356. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/layout.hpp +0 -0
  357. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/layout_composed.hpp +0 -0
  358. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/numeric/arithmetic_tuple.hpp +0 -0
  359. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/numeric/complex.hpp +0 -0
  360. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/numeric/int.hpp +0 -0
  361. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/numeric/integer_sequence.hpp +0 -0
  362. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/numeric/integral_constant.hpp +0 -0
  363. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/numeric/integral_ratio.hpp +0 -0
  364. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/numeric/math.hpp +0 -0
  365. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/numeric/numeric_types.hpp +0 -0
  366. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/numeric/real.hpp +0 -0
  367. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/pointer.hpp +0 -0
  368. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/pointer_base.hpp +0 -0
  369. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/pointer_flagged.hpp +0 -0
  370. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/pointer_sparse.hpp +0 -0
  371. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/pointer_swizzle.hpp +0 -0
  372. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/stride.hpp +0 -0
  373. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/swizzle.hpp +0 -0
  374. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/swizzle_layout.hpp +0 -0
  375. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/tensor.hpp +0 -0
  376. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/tensor_impl.hpp +0 -0
  377. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/tensor_predicate.hpp +0 -0
  378. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/tensor_zip.hpp +0 -0
  379. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/underscore.hpp +0 -0
  380. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/util/debug.hpp +0 -0
  381. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/util/print.hpp +0 -0
  382. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cute/util/type_traits.hpp +0 -0
  383. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/aligned_buffer.h +0 -0
  384. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/arch.h +0 -0
  385. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/barrier.h +0 -0
  386. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/cache_operation.h +0 -0
  387. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/config.h +0 -0
  388. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/grid_dependency_control.h +0 -0
  389. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/memory.h +0 -0
  390. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/memory_sm75.h +0 -0
  391. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/memory_sm80.h +0 -0
  392. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/mma.h +0 -0
  393. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/mma_sm50.h +0 -0
  394. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/mma_sm60.h +0 -0
  395. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/mma_sm61.h +0 -0
  396. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/mma_sm70.h +0 -0
  397. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/mma_sm75.h +0 -0
  398. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/mma_sm80.h +0 -0
  399. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/mma_sm89.h +0 -0
  400. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/mma_sm90.h +0 -0
  401. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/mma_sparse_sm80.h +0 -0
  402. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/mma_sparse_sm89.h +0 -0
  403. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/reg_reconfig.h +0 -0
  404. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/simd.h +0 -0
  405. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/simd_sm60.h +0 -0
  406. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/simd_sm61.h +0 -0
  407. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/synclog.hpp +0 -0
  408. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/wmma.h +0 -0
  409. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/wmma_sm70.h +0 -0
  410. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/wmma_sm72.h +0 -0
  411. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/arch/wmma_sm75.h +0 -0
  412. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/array.h +0 -0
  413. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/array_planar_complex.h +0 -0
  414. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/array_subbyte.h +0 -0
  415. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/barrier.h +0 -0
  416. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/bfloat16.h +0 -0
  417. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/blas3.h +0 -0
  418. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/blas3_types.h +0 -0
  419. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/block_striped.h +0 -0
  420. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/cluster_launch.hpp +0 -0
  421. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/complex.h +0 -0
  422. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/constants.h +0 -0
  423. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/collective/builders/sm90_common.inl +0 -0
  424. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/collective/builders/sm90_gmma_builder.inl +0 -0
  425. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/collective/collective_builder.hpp +0 -0
  426. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/collective/collective_conv.hpp +0 -0
  427. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/collective/detail.hpp +0 -0
  428. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/collective/sm90_implicit_gemm_gmma_ss_warpspecialized.hpp +0 -0
  429. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/conv2d_problem_size.h +0 -0
  430. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/conv3d_problem_size.h +0 -0
  431. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/convnd_problem_shape.hpp +0 -0
  432. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/convolution.h +0 -0
  433. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/detail.hpp +0 -0
  434. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/device/conv_universal_adapter.hpp +0 -0
  435. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/device/direct_convolution.h +0 -0
  436. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/device/implicit_gemm_convolution.h +0 -0
  437. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/device/implicit_gemm_convolution_fusion.h +0 -0
  438. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/dispatch_policy.hpp +0 -0
  439. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/conv_universal.hpp +0 -0
  440. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d.h +0 -0
  441. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_dgrad.h +0 -0
  442. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_fprop.h +0 -0
  443. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_fprop_fusion.h +0 -0
  444. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_fprop_with_absmax.h +0 -0
  445. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_fprop_with_broadcast.h +0 -0
  446. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_fprop_with_reduction.h +0 -0
  447. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_group_fprop.h +0 -0
  448. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_wgrad.h +0 -0
  449. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_wgrad_fusion.h +0 -0
  450. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv3d_dgrad.h +0 -0
  451. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv3d_fprop.h +0 -0
  452. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv3d_fprop_fusion.h +0 -0
  453. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv3d_fprop_with_broadcast.h +0 -0
  454. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv3d_wgrad.h +0 -0
  455. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_deconv2d.h +0 -0
  456. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_deconv2d_with_broadcast.h +0 -0
  457. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_deconv3d.h +0 -0
  458. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_deconv3d_with_broadcast.h +0 -0
  459. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/default_depthwise_fprop.h +0 -0
  460. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/direct_convolution.h +0 -0
  461. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/implicit_gemm_convolution.h +0 -0
  462. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/implicit_gemm_convolution_fusion.h +0 -0
  463. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/implicit_gemm_convolution_strided_dgrad.h +0 -0
  464. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/implicit_gemm_convolution_with_absmax.h +0 -0
  465. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/implicit_gemm_convolution_with_fused_epilogue.h +0 -0
  466. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/kernel/sm90_implicit_gemm_tma_warpspecialized.hpp +0 -0
  467. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/thread/depthwise_mma.h +0 -0
  468. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_dgrad_filter_tile_access_iterator_analytic.h +0 -0
  469. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_dgrad_filter_tile_access_iterator_optimized.h +0 -0
  470. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_dgrad_output_gradient_tile_access_iterator_analytic.h +0 -0
  471. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_dgrad_output_gradient_tile_access_iterator_optimized.h +0 -0
  472. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_activation_tile_access_iterator_analytic.h +0 -0
  473. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_activation_tile_access_iterator_few_channels.h +0 -0
  474. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_activation_tile_access_iterator_fixed_channels.h +0 -0
  475. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_activation_tile_access_iterator_optimized.h +0 -0
  476. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_filter_tile_access_iterator_analytic.h +0 -0
  477. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_filter_tile_access_iterator_few_channels.h +0 -0
  478. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_filter_tile_access_iterator_fixed_channels.h +0 -0
  479. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_filter_tile_access_iterator_optimized.h +0 -0
  480. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_params.h +0 -0
  481. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_tile_iterator.h +0 -0
  482. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_wgrad_activation_tile_access_iterator_analytic.h +0 -0
  483. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_wgrad_activation_tile_access_iterator_optimized.h +0 -0
  484. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_wgrad_output_gradient_tile_access_iterator_analytic.h +0 -0
  485. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_wgrad_output_gradient_tile_access_iterator_optimized.h +0 -0
  486. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_dgrad_filter_tile_access_iterator_analytic.h +0 -0
  487. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_dgrad_filter_tile_access_iterator_optimized.h +0 -0
  488. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_dgrad_output_gradient_tile_access_iterator_analytic.h +0 -0
  489. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_dgrad_output_gradient_tile_access_iterator_optimized.h +0 -0
  490. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_fprop_activation_tile_access_iterator_analytic.h +0 -0
  491. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_fprop_activation_tile_access_iterator_optimized.h +0 -0
  492. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_fprop_filter_tile_access_iterator_analytic.h +0 -0
  493. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_fprop_filter_tile_access_iterator_optimized.h +0 -0
  494. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_params.h +0 -0
  495. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_wgrad_activation_tile_access_iterator_analytic.h +0 -0
  496. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_wgrad_activation_tile_access_iterator_optimized.h +0 -0
  497. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_wgrad_output_gradient_tile_access_iterator_analytic.h +0 -0
  498. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_wgrad_output_gradient_tile_access_iterator_optimized.h +0 -0
  499. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_direct_conv_params.h +0 -0
  500. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_fprop_activation_tile_access_iterator_direct_conv_fixed_stride_dilation.h +0 -0
  501. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_fprop_activation_tile_access_iterator_direct_conv_optimized.h +0 -0
  502. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_fprop_direct_conv_multistage.h +0 -0
  503. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_fprop_filter_tile_access_iterator_direct_conv_optimized.h +0 -0
  504. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_fprop_pipelined.h +0 -0
  505. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_mma_base.h +0 -0
  506. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_mma_core_with_lane_access_size.h +0 -0
  507. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/implicit_gemm_fprop_fusion_multistage.h +0 -0
  508. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/implicit_gemm_multistage.h +0 -0
  509. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/implicit_gemm_pipelined.h +0 -0
  510. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/implicit_gemm_wgrad_fusion_multistage.h +0 -0
  511. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/predicated_scale_bias_vector_access_iterator.h +0 -0
  512. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/predicated_scale_bias_vector_iterator.h +0 -0
  513. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/threadblock/threadblock_swizzle.h +0 -0
  514. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/warp/mma_depthwise_simt.h +0 -0
  515. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/warp/mma_depthwise_simt_tile_iterator.h +0 -0
  516. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/conv/warp/scale_bias_relu_transform.h +0 -0
  517. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/coord.h +0 -0
  518. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/core_io.h +0 -0
  519. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/cuda_host_adapter.hpp +0 -0
  520. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/cutlass.h +0 -0
  521. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/detail/collective.hpp +0 -0
  522. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/detail/dependent_false.hpp +0 -0
  523. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/detail/helper_macros.hpp +0 -0
  524. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/detail/layout.hpp +0 -0
  525. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/detail/mma.hpp +0 -0
  526. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/device_kernel.h +0 -0
  527. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/collective/builders/sm90_builder.inl +0 -0
  528. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/collective/builders/sm90_common.inl +0 -0
  529. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/collective/collective_builder.hpp +0 -0
  530. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/collective/collective_epilogue.hpp +0 -0
  531. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/collective/default_epilogue.hpp +0 -0
  532. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/collective/default_epilogue_array.hpp +0 -0
  533. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/collective/detail.hpp +0 -0
  534. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/collective/epilogue_tensor_broadcast.hpp +0 -0
  535. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/collective/sm70_epilogue_vectorized.hpp +0 -0
  536. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/collective/sm70_epilogue_vectorized_array.hpp +0 -0
  537. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/collective/sm90_epilogue_array_tma_warpspecialized.hpp +0 -0
  538. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/collective/sm90_epilogue_tma_warpspecialized.hpp +0 -0
  539. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/collective/sm90_epilogue_tma_warpspecialized_bias_elementwise.hpp +0 -0
  540. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/dispatch_policy.hpp +0 -0
  541. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/fusion/callbacks.hpp +0 -0
  542. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/fusion/operations.hpp +0 -0
  543. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/fusion/sm90_callbacks_tma_warpspecialized.hpp +0 -0
  544. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/fusion/sm90_visitor_compute_tma_warpspecialized.hpp +0 -0
  545. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/fusion/sm90_visitor_load_tma_warpspecialized.hpp +0 -0
  546. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/fusion/sm90_visitor_store_tma_warpspecialized.hpp +0 -0
  547. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/fusion/sm90_visitor_tma_warpspecialized.hpp +0 -0
  548. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/fusion/sm90_visitor_topk_softmax.hpp +0 -0
  549. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/activation.h +0 -0
  550. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/conversion_op.h +0 -0
  551. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/detail.hpp +0 -0
  552. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination.h +0 -0
  553. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_bias_elementwise.h +0 -0
  554. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_bias_relu.h +0 -0
  555. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_clamp.h +0 -0
  556. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_dgelu.h +0 -0
  557. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_drelu.h +0 -0
  558. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_gelu.h +0 -0
  559. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_generic.h +0 -0
  560. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_generic_with_scaling.h +0 -0
  561. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_hardswish.h +0 -0
  562. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_leaky_relu.h +0 -0
  563. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_params.h +0 -0
  564. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_planar_complex.h +0 -0
  565. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_relu.h +0 -0
  566. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_relu0.h +0 -0
  567. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_residual_block.h +0 -0
  568. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_sigmoid.h +0 -0
  569. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_silu.h +0 -0
  570. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_tensor_broadcast.hpp +0 -0
  571. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_with_elementwise.h +0 -0
  572. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/reduction_op.h +0 -0
  573. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/thread/scale_type.h +0 -0
  574. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_complex_tensor_op.h +0 -0
  575. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_complex_tensor_op_blas3.h +0 -0
  576. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_direct_store.h +0 -0
  577. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_planar_complex.h +0 -0
  578. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_simt.h +0 -0
  579. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_tensor_op.h +0 -0
  580. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_tensor_op_blas3.h +0 -0
  581. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_volta_tensor_op.h +0 -0
  582. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_with_absmax.h +0 -0
  583. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_with_broadcast.h +0 -0
  584. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_with_reduction.h +0 -0
  585. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_wmma_tensor_op.h +0 -0
  586. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_thread_map_simt.h +0 -0
  587. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_thread_map_tensor_op.h +0 -0
  588. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_thread_map_volta_tensor_op.h +0 -0
  589. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_thread_map_wmma_tensor_op.h +0 -0
  590. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/direct_store_epilogue_iterator.h +0 -0
  591. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue.h +0 -0
  592. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_base.h +0 -0
  593. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_base_streamk.h +0 -0
  594. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_depthwise.h +0 -0
  595. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_direct_store.h +0 -0
  596. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_gemm_k_reduction.h +0 -0
  597. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_planar_complex.h +0 -0
  598. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_smem_accumulator.h +0 -0
  599. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_streamk_with_broadcast.h +0 -0
  600. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_visitor_with_softmax.h +0 -0
  601. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_with_absmax.h +0 -0
  602. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_with_broadcast.h +0 -0
  603. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_with_reduction.h +0 -0
  604. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_with_visitor.h +0 -0
  605. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_with_visitor_callbacks.h +0 -0
  606. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_workspace.h +0 -0
  607. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/fusion/visitor_2x.hpp +0 -0
  608. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/fusion/visitor_compute.hpp +0 -0
  609. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/fusion/visitor_load.hpp +0 -0
  610. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/fusion/visitor_store.hpp +0 -0
  611. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/fusion/visitors.hpp +0 -0
  612. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/interleaved_epilogue.h +0 -0
  613. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/output_iterator_parameter.h +0 -0
  614. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/output_tile_thread_map.h +0 -0
  615. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator.h +0 -0
  616. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_affine.h +0 -0
  617. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_affine_layout_params.h +0 -0
  618. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_blas3.h +0 -0
  619. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_conv.h +0 -0
  620. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_direct_conv.h +0 -0
  621. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_params.h +0 -0
  622. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_predicates.h +0 -0
  623. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_strided_dgrad.h +0 -0
  624. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/shared_load_iterator.h +0 -0
  625. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/shared_load_iterator_mixed.h +0 -0
  626. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/shared_load_iterator_pitch_linear.h +0 -0
  627. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/fragment_iterator_complex_tensor_op.h +0 -0
  628. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/fragment_iterator_gaussian_complex_tensor_op.h +0 -0
  629. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/fragment_iterator_simt.h +0 -0
  630. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/fragment_iterator_tensor_op.h +0 -0
  631. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/fragment_iterator_volta_tensor_op.h +0 -0
  632. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/fragment_iterator_wmma_tensor_op.h +0 -0
  633. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/simt_policy.h +0 -0
  634. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/tensor_op_policy.h +0 -0
  635. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/tile_iterator_simt.h +0 -0
  636. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/tile_iterator_tensor_op.h +0 -0
  637. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/tile_iterator_tensor_op_mixed.h +0 -0
  638. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/tile_iterator_volta_tensor_op.h +0 -0
  639. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/tile_iterator_wmma_tensor_op.h +0 -0
  640. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/volta_tensor_op_policy.h +0 -0
  641. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/epilogue/warp/wmma_tensor_op_policy.h +0 -0
  642. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/fast_math.h +0 -0
  643. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/float8.h +0 -0
  644. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/floating_point_nvrtc.h +0 -0
  645. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/functional.h +0 -0
  646. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/builders/sm90_common.inl +0 -0
  647. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/builders/sm90_gmma_builder.inl +0 -0
  648. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/builders/sm90_sparse_config.inl +0 -0
  649. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/builders/sm90_sparse_gmma_builder.inl +0 -0
  650. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/collective_builder.hpp +0 -0
  651. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/collective_builder_decl.hpp +0 -0
  652. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/collective_mma.hpp +0 -0
  653. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/collective_mma_decl.hpp +0 -0
  654. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/fp8_accumulation.hpp +0 -0
  655. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/sm70_mma_twostage.hpp +0 -0
  656. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/sm80_mma_multistage.hpp +0 -0
  657. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_array_tma_gmma_ss_warpspecialized.hpp +0 -0
  658. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_multistage_gmma_rs_warpspecialized.hpp +0 -0
  659. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_multistage_gmma_ss_warpspecialized.hpp +0 -0
  660. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_tma_gmma_rs_warpspecialized.hpp +0 -0
  661. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_tma_gmma_rs_warpspecialized_mixed_input.hpp +0 -0
  662. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_tma_gmma_ss.hpp +0 -0
  663. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_tma_gmma_ss_warpspecialized.hpp +0 -0
  664. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_tma_gmma_ss_warpspecialized_fp8.hpp +0 -0
  665. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_sparse_mma_tma_gmma_ss_warpspecialized.hpp +0 -0
  666. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/base_grouped.h +0 -0
  667. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/default_gemm_configuration.h +0 -0
  668. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/ell_gemm.h +0 -0
  669. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm.h +0 -0
  670. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_array.h +0 -0
  671. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_batched.h +0 -0
  672. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_complex.h +0 -0
  673. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_grouped.h +0 -0
  674. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_layernorm_mainloop_fusion.h +0 -0
  675. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_sparse.h +0 -0
  676. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_sparse_universal.h +0 -0
  677. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_sparse_universal_with_absmax.h +0 -0
  678. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_sparse_with_absmax.h +0 -0
  679. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_sparse_with_visitor.h +0 -0
  680. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_splitk_parallel.h +0 -0
  681. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_universal.h +0 -0
  682. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_universal_adapter.h +0 -0
  683. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_universal_base.h +0 -0
  684. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_universal_streamk_with_broadcast.h +0 -0
  685. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_universal_with_absmax.h +0 -0
  686. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_universal_with_broadcast.h +0 -0
  687. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_with_k_reduction.h +0 -0
  688. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/gemv.h +0 -0
  689. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/rank_2k.h +0 -0
  690. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/rank_2k_grouped.h +0 -0
  691. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/rank_k.h +0 -0
  692. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/symm.h +0 -0
  693. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/device/trmm.h +0 -0
  694. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/dispatch_policy.hpp +0 -0
  695. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/gemm.h +0 -0
  696. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/gemm_enumerated_types.h +0 -0
  697. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/group_array_problem_shape.hpp +0 -0
  698. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_ell_gemm.h +0 -0
  699. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm.h +0 -0
  700. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_complex.h +0 -0
  701. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_grouped.h +0 -0
  702. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_grouped_softmax_mainloop_fusion.h +0 -0
  703. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_layernorm_mainloop_fusion.h +0 -0
  704. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_planar_complex_universal.h +0 -0
  705. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_sparse.h +0 -0
  706. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_sparse_universal.h +0 -0
  707. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_sparse_universal_with_absmax.h +0 -0
  708. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_sparse_with_absmax.h +0 -0
  709. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_sparse_with_visitor.h +0 -0
  710. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_splitk_parallel.h +0 -0
  711. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_streamk_with_broadcast.h +0 -0
  712. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_universal.h +0 -0
  713. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_universal_with_visitor.h +0 -0
  714. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_with_absmax.h +0 -0
  715. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_with_broadcast.h +0 -0
  716. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_with_k_reduction.h +0 -0
  717. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_with_reduction.h +0 -0
  718. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemv.h +0 -0
  719. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_rank_2k.h +0 -0
  720. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_rank_2k_complex.h +0 -0
  721. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_rank_2k_grouped.h +0 -0
  722. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_rank_2k_universal.h +0 -0
  723. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_rank_k.h +0 -0
  724. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_rank_k_complex.h +0 -0
  725. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_rank_k_universal.h +0 -0
  726. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_symm.h +0 -0
  727. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_symm_complex.h +0 -0
  728. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_symm_universal.h +0 -0
  729. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_trmm.h +0 -0
  730. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_trmm_complex.h +0 -0
  731. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_trmm_universal.h +0 -0
  732. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/ell_gemm.h +0 -0
  733. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm.h +0 -0
  734. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_array.h +0 -0
  735. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_batched.h +0 -0
  736. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_grouped.h +0 -0
  737. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_grouped_problem_visitor.h +0 -0
  738. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_grouped_softmax_mainloop_fusion.h +0 -0
  739. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_layernorm_mainloop_fusion.h +0 -0
  740. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_params.h +0 -0
  741. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_pipelined.h +0 -0
  742. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_planar_complex.h +0 -0
  743. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_planar_complex_array.h +0 -0
  744. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_sparse_universal.h +0 -0
  745. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_sparse_universal_with_absmax.h +0 -0
  746. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_splitk_parallel.h +0 -0
  747. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_streamk_with_fused_epilogue.h +0 -0
  748. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_transpose_operands.h +0 -0
  749. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_universal.h +0 -0
  750. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_universal.hpp +0 -0
  751. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_universal_decl.h +0 -0
  752. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_universal_streamk.h +0 -0
  753. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_universal_with_visitor.h +0 -0
  754. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_universal_with_visitor_streamk.h +0 -0
  755. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_with_absmax.h +0 -0
  756. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_with_fused_epilogue.h +0 -0
  757. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_with_k_reduction.h +0 -0
  758. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemv.h +0 -0
  759. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemv_batched_strided.h +0 -0
  760. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/grouped_problem_visitor.h +0 -0
  761. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/params_sparse_base.h +0 -0
  762. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/params_universal_base.h +0 -0
  763. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/rank_2k_grouped.h +0 -0
  764. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/rank_2k_grouped_problem_visitor.h +0 -0
  765. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/rank_2k_transpose_operands.h +0 -0
  766. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/rank_2k_universal.h +0 -0
  767. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/rank_k_universal.h +0 -0
  768. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm70_gemm.hpp +0 -0
  769. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_array_tma_warpspecialized_cooperative.hpp +0 -0
  770. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_array_tma_warpspecialized_pingpong.hpp +0 -0
  771. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_tma.hpp +0 -0
  772. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_tma_warpspecialized.hpp +0 -0
  773. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_tma_warpspecialized_cooperative.hpp +0 -0
  774. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_tma_warpspecialized_pingpong.hpp +0 -0
  775. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_warpspecialized.hpp +0 -0
  776. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_warpspecialized_cooperative.hpp +0 -0
  777. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_warpspecialized_pingpong.hpp +0 -0
  778. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_tile_scheduler.hpp +0 -0
  779. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_tile_scheduler_group.hpp +0 -0
  780. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_tile_scheduler_stream_k.hpp +0 -0
  781. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sparse_gemm.h +0 -0
  782. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sparse_gemm_with_absmax.h +0 -0
  783. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/sparse_gemm_with_visitor.h +0 -0
  784. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/static_tile_scheduler.hpp +0 -0
  785. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/symm_universal.h +0 -0
  786. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/tile_scheduler.hpp +0 -0
  787. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/tile_scheduler_params.h +0 -0
  788. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/kernel/trmm_universal.h +0 -0
  789. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/thread/mma.h +0 -0
  790. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/thread/mma_sm50.h +0 -0
  791. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/thread/mma_sm60.h +0 -0
  792. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/thread/mma_sm61.h +0 -0
  793. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_ell_mma.h +0 -0
  794. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_gemv_core.h +0 -0
  795. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma.h +0 -0
  796. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core.h +0 -0
  797. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_simt.h +0 -0
  798. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_sm70.h +0 -0
  799. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_sm75.h +0 -0
  800. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_sm80.h +0 -0
  801. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_sparse_sm80.h +0 -0
  802. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_with_access_size.h +0 -0
  803. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_with_reduction.h +0 -0
  804. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_wmma.h +0 -0
  805. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_layernorm_mainloop_fusion.h +0 -0
  806. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_planar_complex_multistage.h +0 -0
  807. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_planar_complex_pipelined.h +0 -0
  808. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_softmax_mainloop_fusion.h +0 -0
  809. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_with_reduction.h +0 -0
  810. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_multistage_mma_complex.h +0 -0
  811. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_multistage_mma_complex_core.h +0 -0
  812. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_multistage_mma_complex_core_sm80.h +0 -0
  813. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_multistage_trmm_complex.h +0 -0
  814. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_sparse_mma.h +0 -0
  815. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_trmm.h +0 -0
  816. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/ell_mma_multistage.h +0 -0
  817. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/ell_mma_pipelined.h +0 -0
  818. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/gemv.h +0 -0
  819. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/index_remat.h +0 -0
  820. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_base.h +0 -0
  821. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_blas3_multistage.h +0 -0
  822. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_layernorm_mainloop_fusion_multistage.h +0 -0
  823. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_multistage.h +0 -0
  824. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_pipelined.h +0 -0
  825. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_planar_complex_base.h +0 -0
  826. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_planar_complex_multistage.h +0 -0
  827. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_planar_complex_pipelined.h +0 -0
  828. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_singlestage.h +0 -0
  829. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_softmax_mainloop_fusion_multistage.h +0 -0
  830. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_sparse_base.h +0 -0
  831. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_sparse_multistage.h +0 -0
  832. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_with_reduction_multistage.h +0 -0
  833. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/threadblock_swizzle.h +0 -0
  834. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/threadblock/threadblock_swizzle_streamk.h +0 -0
  835. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/default_mma_complex_tensor_op.h +0 -0
  836. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/default_mma_sparse_tensor_op.h +0 -0
  837. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/default_mma_tensor_op.h +0 -0
  838. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/default_mma_tensor_op_sm80.h +0 -0
  839. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/default_mma_with_reduction_tensor_op.h +0 -0
  840. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/default_mma_wmma_tensor_op.h +0 -0
  841. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/layernorm_scale_bias_transform.h +0 -0
  842. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma.h +0 -0
  843. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_complex_tensor_op.h +0 -0
  844. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_complex_tensor_op_fast_f32.h +0 -0
  845. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_complex_tensor_op_tile_iterator_sm80.h +0 -0
  846. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_gaussian_complex_tensor_op.h +0 -0
  847. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_gaussian_complex_tensor_op_tile_iterator_sm80.h +0 -0
  848. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_mixed_input_tensor_op.h +0 -0
  849. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_planar_complex.h +0 -0
  850. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_simt.h +0 -0
  851. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_simt_policy.h +0 -0
  852. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_simt_tile_iterator.h +0 -0
  853. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_sparse_tensor_op.h +0 -0
  854. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op.h +0 -0
  855. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_fast_f32.h +0 -0
  856. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_fragment_iterator.h +0 -0
  857. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_policy.h +0 -0
  858. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_sm70.h +0 -0
  859. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_tile_access_iterator.h +0 -0
  860. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_tile_iterator.h +0 -0
  861. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_tile_iterator_sm70.h +0 -0
  862. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_tile_iterator_sm80.h +0 -0
  863. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_tile_iterator_sparse.h +0 -0
  864. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_tile_iterator_wmma.h +0 -0
  865. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_wmma.h +0 -0
  866. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_with_reduction_tensor_op.h +0 -0
  867. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/scale_bias_tile_iterator.h +0 -0
  868. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/softmax_scale_bias_transform.h +0 -0
  869. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm/warp/tile_iterator_planar_complex.h +0 -0
  870. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm_coord.h +0 -0
  871. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/gemm_coord.hpp +0 -0
  872. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/half.h +0 -0
  873. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/integer_subbyte.h +0 -0
  874. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/kernel_hardware_info.h +0 -0
  875. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/kernel_hardware_info.hpp +0 -0
  876. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/kernel_launch.h +0 -0
  877. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/layout/layout.h +0 -0
  878. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/layout/matrix.h +0 -0
  879. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/layout/permute.h +0 -0
  880. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/layout/pitch_linear.h +0 -0
  881. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/layout/tensor.h +0 -0
  882. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/layout/tensor_op_multiplicand_sm70.h +0 -0
  883. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/layout/tensor_op_multiplicand_sm75.h +0 -0
  884. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/layout/tensor_op_multiplicand_sm80.h +0 -0
  885. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/layout/vector.h +0 -0
  886. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/matrix.h +0 -0
  887. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/matrix_coord.h +0 -0
  888. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/matrix_shape.h +0 -0
  889. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/numeric_conversion.h +0 -0
  890. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/numeric_size.h +0 -0
  891. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/numeric_types.h +0 -0
  892. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/pipeline/pipeline.hpp +0 -0
  893. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/pipeline/sm90_pipeline.hpp +0 -0
  894. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/pitch_linear_coord.h +0 -0
  895. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/platform/platform.h +0 -0
  896. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/predicate_vector.h +0 -0
  897. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/quaternion.h +0 -0
  898. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/real.h +0 -0
  899. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/reduction/device/reduce_split_k.h +0 -0
  900. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/reduction/device/tensor_reduce.h +0 -0
  901. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/reduction/device/tensor_reduce_affine_contiguous.h +0 -0
  902. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/reduction/device/tensor_reduce_affine_strided.h +0 -0
  903. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/reduction/kernel/reduce_softmax_final.h +0 -0
  904. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/reduction/kernel/reduce_split_k.h +0 -0
  905. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/reduction/kernel/tensor_reduce_affine_contiguous.h +0 -0
  906. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/reduction/kernel/tensor_reduce_affine_strided.h +0 -0
  907. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/reduction/thread/reduce.h +0 -0
  908. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/reduction/thread/reduction_operators.h +0 -0
  909. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/reduction/threadblock_swizzle.h +0 -0
  910. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/relatively_equal.h +0 -0
  911. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/semaphore.h +0 -0
  912. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/subbyte_reference.h +0 -0
  913. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/tensor_coord.h +0 -0
  914. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/tensor_ref.h +0 -0
  915. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/tensor_ref_planar_complex.h +0 -0
  916. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/tensor_view.h +0 -0
  917. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/tensor_view_planar_complex.h +0 -0
  918. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/tfloat32.h +0 -0
  919. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/thread/matrix.h +0 -0
  920. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/trace.h +0 -0
  921. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/collective/sm90_wgmma_transpose.hpp +0 -0
  922. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/device/transform_universal_adapter.hpp +0 -0
  923. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/kernel/filter_format_transformer.hpp +0 -0
  924. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/kernel/sm90_sparse_gemm_compressor.hpp +0 -0
  925. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/kernel/sparse_gemm_compressor.hpp +0 -0
  926. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/pitch_linear_thread_map.h +0 -0
  927. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/thread/transpose.h +0 -0
  928. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/thread/unary_op.h +0 -0
  929. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/ell_iterator.h +0 -0
  930. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/ell_predicated_tile_access_iterator.h +0 -0
  931. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/ell_predicated_tile_iterator.h +0 -0
  932. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_scale_bias_vector_access_iterator.h +0 -0
  933. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_scale_bias_vector_iterator.h +0 -0
  934. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_tile_access_iterator.h +0 -0
  935. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_tile_access_iterator_2dthreadtile.h +0 -0
  936. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_tile_access_iterator_params.h +0 -0
  937. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_tile_access_iterator_triangular_matrix.h +0 -0
  938. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_tile_iterator.h +0 -0
  939. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_tile_iterator_2dthreadtile.h +0 -0
  940. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_tile_iterator_triangular_matrix.h +0 -0
  941. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_vector_access_iterator.h +0 -0
  942. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_scale_bias_vector_access_iterator.h +0 -0
  943. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_access_iterator.h +0 -0
  944. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_access_iterator_pitch_linear.h +0 -0
  945. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_access_iterator_pitch_linear_direct_conv.h +0 -0
  946. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_access_iterator_tensor_op.h +0 -0
  947. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_access_iterator_tensor_op_sm80.h +0 -0
  948. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_iterator.h +0 -0
  949. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_iterator_pitch_linear.h +0 -0
  950. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_iterator_pitch_linear_2dthreadtile.h +0 -0
  951. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_iterator_tensor_op.h +0 -0
  952. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_iterator_tensor_op_sm70.h +0 -0
  953. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/threadblock/vector_iterator.h +0 -0
  954. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/transform/warp/vector_fragment_iterator.h +0 -0
  955. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/uint128.h +0 -0
  956. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/version.h +0 -0
  957. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/wmma_array.h +0 -0
  958. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/include/cutlass/workspace.h +0 -0
  959. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/GPU_Clock.hpp +0 -0
  960. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/command_line.h +0 -0
  961. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/cublas_wrappers.hpp +0 -0
  962. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/debug.h +0 -0
  963. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/device_dump.h +0 -0
  964. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/device_groupnorm.h +0 -0
  965. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/device_layernorm.h +0 -0
  966. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/device_memory.h +0 -0
  967. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/device_nchw_to_nhwc.h +0 -0
  968. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/device_nhwc_padding.h +0 -0
  969. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/device_nhwc_pooling.h +0 -0
  970. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/device_nhwc_to_nchw.h +0 -0
  971. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/device_rmsnorm.h +0 -0
  972. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/device_utils.h +0 -0
  973. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/distribution.h +0 -0
  974. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/exceptions.h +0 -0
  975. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/gett_commandline.hpp +0 -0
  976. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/helper_cuda.hpp +0 -0
  977. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/host_reorder.h +0 -0
  978. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/host_tensor.h +0 -0
  979. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/host_tensor_planar_complex.h +0 -0
  980. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/host_uncompress.h +0 -0
  981. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/index_sequence.h +0 -0
  982. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/packed_stride.hpp +0 -0
  983. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/print_error.hpp +0 -0
  984. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/detail/inner_product.h +0 -0
  985. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/detail/linear_to_coordinate.h +0 -0
  986. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/convolution.h +0 -0
  987. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/gemm.h +0 -0
  988. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/gemm_complex.h +0 -0
  989. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/gemm_planar_complex.h +0 -0
  990. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/gett.hpp +0 -0
  991. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/kernel/gemm.h +0 -0
  992. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/kernel/tensor_elementwise.h +0 -0
  993. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/kernel/tensor_foreach.h +0 -0
  994. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/rank_2k_complex.h +0 -0
  995. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/tensor_compare.h +0 -0
  996. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/tensor_fill.h +0 -0
  997. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/tensor_foreach.h +0 -0
  998. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/tensor_reduce.h +0 -0
  999. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/tensor_relu.h +0 -0
  1000. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/thread/gemm.h +0 -0
  1001. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/conv.hpp +0 -0
  1002. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/convolution.h +0 -0
  1003. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/error_metrics.h +0 -0
  1004. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/gemm.h +0 -0
  1005. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/gemm_complex.h +0 -0
  1006. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/gemm_planar_complex.h +0 -0
  1007. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/gett.hpp +0 -0
  1008. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/rank_2k.h +0 -0
  1009. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/rank_2k_complex.h +0 -0
  1010. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/rank_k_complex.h +0 -0
  1011. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/symm.h +0 -0
  1012. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/symm_complex.h +0 -0
  1013. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_compare.h +0 -0
  1014. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_compare.hpp +0 -0
  1015. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_copy.h +0 -0
  1016. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_elementwise.h +0 -0
  1017. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_fill.h +0 -0
  1018. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_fill.hpp +0 -0
  1019. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_foreach.h +0 -0
  1020. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_norm.h +0 -0
  1021. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_reduce.h +0 -0
  1022. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_reduce.hpp +0 -0
  1023. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/trmm.h +0 -0
  1024. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/trmm_complex.h +0 -0
  1025. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/tensor_view_io.h +0 -0
  1026. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/3rdparty/cutlass/tools/util/include/cutlass/util/type_traits.h +0 -0
  1027. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/LICENSE +0 -0
  1028. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/activation.cu +0 -0
  1029. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/aot_extension_utils.h +0 -0
  1030. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_decode.cu +0 -0
  1031. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_decode_config.inc +0 -0
  1032. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_decode_customize_config.jinja +0 -0
  1033. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_decode_jit_pybind.cu +0 -0
  1034. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_decode_kernel_inst.jinja +0 -0
  1035. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_decode_mla_plan.cu +0 -0
  1036. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_decode_mla_pybind.cu +0 -0
  1037. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_decode_mla_run.cu +0 -0
  1038. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_mla_config.jinja +0 -0
  1039. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_mla_plan.cu +0 -0
  1040. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_mla_pybind.cu +0 -0
  1041. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_prefill.cu +0 -0
  1042. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_prefill_config.inc +0 -0
  1043. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_prefill_customize_config.jinja +0 -0
  1044. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_prefill_jit_pybind.cu +0 -0
  1045. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_prefill_paged_kernel_inst.jinja +0 -0
  1046. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_prefill_paged_sm90_kernel_inst.jinja +0 -0
  1047. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_prefill_ragged_kernel_inst.jinja +0 -0
  1048. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_prefill_ragged_sm90_kernel_inst.jinja +0 -0
  1049. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_prefill_sm90.cu +0 -0
  1050. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_prefill_sm90_config.inc +0 -0
  1051. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_prefill_sm90_customize_config.jinja +0 -0
  1052. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/batch_prefill_sm90_jit_pybind.cu +0 -0
  1053. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/bmm_fp8.cu +0 -0
  1054. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/cascade.cu +0 -0
  1055. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/flashinfer_cascade_ops.cu +0 -0
  1056. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/flashinfer_gemm_ops.cu +0 -0
  1057. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/flashinfer_gemm_sm90_ops.cu +0 -0
  1058. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/flashinfer_norm_ops.cu +0 -0
  1059. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/flashinfer_ops.cu +0 -0
  1060. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/flashinfer_ops_sm90.cu +0 -0
  1061. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/flashinfer_page_ops.cu +0 -0
  1062. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/flashinfer_quantization_ops.cu +0 -0
  1063. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/flashinfer_rope_ops.cu +0 -0
  1064. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/flashinfer_sampling_ops.cu +0 -0
  1065. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/group_gemm.cu +0 -0
  1066. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/group_gemm_sm90.cu +0 -0
  1067. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/norm.cu +0 -0
  1068. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/page.cu +0 -0
  1069. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/pytorch_conversion_utils.h +0 -0
  1070. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/pytorch_extension_utils.h +0 -0
  1071. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/quantization.cu +0 -0
  1072. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/renorm.cu +0 -0
  1073. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/rope.cu +0 -0
  1074. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/runtime_utils.h +0 -0
  1075. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/sampling.cu +0 -0
  1076. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_decode.cu +0 -0
  1077. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_decode_config.inc +0 -0
  1078. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_decode_customize_config.jinja +0 -0
  1079. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_decode_jit_pybind.cu +0 -0
  1080. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_decode_kernel_inst.jinja +0 -0
  1081. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_prefill.cu +0 -0
  1082. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_prefill_config.inc +0 -0
  1083. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_prefill_customize_config.jinja +0 -0
  1084. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_prefill_jit_pybind.cu +0 -0
  1085. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_prefill_kernel_inst.jinja +0 -0
  1086. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_prefill_sm90.cu +0 -0
  1087. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_prefill_sm90_config.inc +0 -0
  1088. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_prefill_sm90_customize_config.jinja +0 -0
  1089. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_prefill_sm90_jit_pybind.cu +0 -0
  1090. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/csrc/single_prefill_sm90_kernel_inst.jinja +0 -0
  1091. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/custom_backend.py +0 -0
  1092. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/__init__.py +0 -0
  1093. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/activation.py +0 -0
  1094. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/cascade.py +0 -0
  1095. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/gemm.py +0 -0
  1096. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/jit/__init__.py +0 -0
  1097. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/jit/activation.py +0 -0
  1098. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/jit/core.py +0 -0
  1099. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/jit/env.py +0 -0
  1100. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/jit/utils.py +0 -0
  1101. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/norm.py +0 -0
  1102. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/page.py +0 -0
  1103. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/py.typed +0 -0
  1104. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/quantization.py +0 -0
  1105. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/rope.py +0 -0
  1106. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/sampling.py +0 -0
  1107. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/triton/__init__.py +0 -0
  1108. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/triton/activation.py +0 -0
  1109. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/triton/cascade.py +0 -0
  1110. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/triton/kernels/__init__.py +0 -0
  1111. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/triton/kernels/activation.py +0 -0
  1112. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/triton/kernels/cascade.py +0 -0
  1113. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/triton/kernels/quant.py +0 -0
  1114. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer/triton/utils.py +0 -0
  1115. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer_python.egg-info/dependency_links.txt +0 -0
  1116. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer_python.egg-info/requires.txt +0 -0
  1117. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/flashinfer_python.egg-info/top_level.txt +0 -0
  1118. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/activation.cuh +0 -0
  1119. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/allocator.h +0 -0
  1120. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/default_decode_params.cuh +0 -0
  1121. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/default_prefill_params.cuh +0 -0
  1122. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/heap.h +0 -0
  1123. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/hopper/attention_updater.cuh +0 -0
  1124. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/hopper/block_sparse_gather.cuh +0 -0
  1125. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/hopper/default_params.cuh +0 -0
  1126. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/hopper/epilogue.cuh +0 -0
  1127. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/hopper/kernel_traits.cuh +0 -0
  1128. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/hopper/mainloop.cuh +0 -0
  1129. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/hopper/mainloop_mma.cuh +0 -0
  1130. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/hopper/named_barrier.cuh +0 -0
  1131. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/hopper/prefill_sm90.cuh +0 -0
  1132. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/hopper/sparse_mainloop.cuh +0 -0
  1133. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/hopper/tile_scheduler.cuh +0 -0
  1134. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/hopper/utils.cuh +0 -0
  1135. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/hopper/variant_helper.cuh +0 -0
  1136. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/hopper/variants.cuh +0 -0
  1137. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/mask.cuh +0 -0
  1138. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/prefill.cuh +0 -0
  1139. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/state.cuh +0 -0
  1140. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/variant_helper.cuh +0 -0
  1141. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention/variants.cuh +0 -0
  1142. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/attention_impl.cuh +0 -0
  1143. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/cutlass_utils.cuh +0 -0
  1144. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/distributed/all_reduce.cuh +0 -0
  1145. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/exception.h +0 -0
  1146. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/fastdiv.cuh +0 -0
  1147. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/frag_layout_swizzle.cuh +0 -0
  1148. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/gemm/bmm_fp8.cuh +0 -0
  1149. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/gemm/group_gemm.cuh +0 -0
  1150. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/gemm/group_gemm_lora.cuh +0 -0
  1151. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/gemm/group_gemm_sm90.cuh +0 -0
  1152. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/gemm/group_gemv.cuh +0 -0
  1153. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/layout.cuh +0 -0
  1154. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/math.cuh +0 -0
  1155. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/mma.cuh +0 -0
  1156. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/norm.cuh +0 -0
  1157. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/page.cuh +0 -0
  1158. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/permuted_smem.cuh +0 -0
  1159. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/pos_enc.cuh +0 -0
  1160. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/quantization.cuh +0 -0
  1161. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/sampling.cuh +0 -0
  1162. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/utils.cuh +0 -0
  1163. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/include/flashinfer/vec_dtypes.cuh +0 -0
  1164. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/pyproject.toml +0 -0
  1165. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/setup.cfg +0 -0
  1166. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/setup.py +0 -0
  1167. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_activation.py +0 -0
  1168. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_alibi.py +0 -0
  1169. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_block_sparse_indices_to_vector_sparse_offsets.py +0 -0
  1170. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_bmm_fp8.py +0 -0
  1171. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_decode_fp8_calibration_scale.py +0 -0
  1172. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_decode_prefill_lse.py +0 -0
  1173. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_fp8_prefill.py +0 -0
  1174. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_group_gemm.py +0 -0
  1175. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_hopper.py +0 -0
  1176. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_jit_example.py +0 -0
  1177. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_jit_warmup.py +0 -0
  1178. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_logits_cap.py +0 -0
  1179. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_non_contiguous_decode.py +0 -0
  1180. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_non_contiguous_prefill.py +0 -0
  1181. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_norm.py +0 -0
  1182. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_page.py +0 -0
  1183. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_quantization.py +0 -0
  1184. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_rope.py +0 -0
  1185. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_sampling.py +0 -0
  1186. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_shared_prefix_kernels.py +0 -0
  1187. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_sliding_window.py +0 -0
  1188. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_tensor_cores_decode.py +0 -0
  1189. {flashinfer_python-0.2.1.post1 → flashinfer_python-0.2.1.post2}/tests/test_triton_cascade.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: flashinfer-python
3
- Version: 0.2.1.post1
3
+ Version: 0.2.1.post2
4
4
  Summary: FlashInfer: Kernel Library for LLM Serving
5
5
  Author: FlashInfer team
6
6
  License: Apache License 2.0
@@ -38,12 +38,12 @@ Check our [v0.2 release blog](https://flashinfer.ai/2024/12/16/flashinfer-v02-re
38
38
  The core features of FlashInfer include:
39
39
  1. **Efficient Sparse/Dense Attention Kernels**: Efficient single/batch attention for sparse(paged)/dense KV-storage on CUDA Cores and Tensor Cores (both FA2 & FA3) templates. The vector-sparse attention can achieve 90% of the bandwidth of dense kernels with same problem size.
40
40
  2. **Load-Balanced Scheduling**: FlashInfer decouples `plan`/`run` stage of attention computation where we schedule the computation of variable-length inputs in `plan` stage to alleviate load-imbalance issue.
41
- 3. **Memory Efficiency**: FlashInfer offers [Cascade Attention](https://docs.flashinfer.ai/api/cascade.html#flashinfer.cascade.MultiLevelCascadeAttentionWrapper) for hierical KV-Cache, and implements Head-Query fusion for accelerating Grouped-Query Attention, and efficient kernels for low-precision attention and fused-RoPE attention for compressed KV-Cache.
41
+ 3. **Memory Efficiency**: FlashInfer offers [Cascade Attention](https://docs.flashinfer.ai/api/cascade.html#flashinfer.cascade.MultiLevelCascadeAttentionWrapper) for hierarchical KV-Cache, and implements Head-Query fusion for accelerating Grouped-Query Attention, and efficient kernels for low-precision attention and fused-RoPE attention for compressed KV-Cache.
42
42
  4. **Customizable Attention**: Bring your own attention variants through JIT-compilation.
43
43
  5. **CUDAGraph and torch.compile Compatibility**: FlashInfer kernels can be captured by CUDAGraphs and torch.compile for low-latency inference.
44
44
  6. **Efficient LLM-specific Operators**: High-Performance [fused kernel for Top-P, Top-K/Min-P sampling](https://docs.flashinfer.ai/api/sampling.html) without the need to sorting.
45
45
 
46
- FlashInfer support PyTorch, TVM and C++ (header-only) APIs, and can be easily integrated into existing projects.
46
+ FlashInfer supports PyTorch, TVM and C++ (header-only) APIs, and can be easily integrated into existing projects.
47
47
 
48
48
  ## News
49
49
  - [Dec 16, 2024] [Blog Post](https://flashinfer.ai/2024/12/16/flashinfer-v02-release.html) FlashInfer 0.2 - Efficient and Customizable Kernels for LLM Inference Serving
@@ -164,6 +164,7 @@ We are thrilled to share that FlashInfer is being adopted by many cutting-edge p
164
164
  - [vLLM](https://github.com/vllm-project/vllm)
165
165
  - [TGI](https://github.com/huggingface/text-generation-inference)
166
166
  - [lorax](https://github.com/predibase/lorax)
167
+ - [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM)
167
168
 
168
169
  ## Acknowledgement
169
170
 
@@ -23,12 +23,12 @@ Check our [v0.2 release blog](https://flashinfer.ai/2024/12/16/flashinfer-v02-re
23
23
  The core features of FlashInfer include:
24
24
  1. **Efficient Sparse/Dense Attention Kernels**: Efficient single/batch attention for sparse(paged)/dense KV-storage on CUDA Cores and Tensor Cores (both FA2 & FA3) templates. The vector-sparse attention can achieve 90% of the bandwidth of dense kernels with same problem size.
25
25
  2. **Load-Balanced Scheduling**: FlashInfer decouples `plan`/`run` stage of attention computation where we schedule the computation of variable-length inputs in `plan` stage to alleviate load-imbalance issue.
26
- 3. **Memory Efficiency**: FlashInfer offers [Cascade Attention](https://docs.flashinfer.ai/api/cascade.html#flashinfer.cascade.MultiLevelCascadeAttentionWrapper) for hierical KV-Cache, and implements Head-Query fusion for accelerating Grouped-Query Attention, and efficient kernels for low-precision attention and fused-RoPE attention for compressed KV-Cache.
26
+ 3. **Memory Efficiency**: FlashInfer offers [Cascade Attention](https://docs.flashinfer.ai/api/cascade.html#flashinfer.cascade.MultiLevelCascadeAttentionWrapper) for hierarchical KV-Cache, and implements Head-Query fusion for accelerating Grouped-Query Attention, and efficient kernels for low-precision attention and fused-RoPE attention for compressed KV-Cache.
27
27
  4. **Customizable Attention**: Bring your own attention variants through JIT-compilation.
28
28
  5. **CUDAGraph and torch.compile Compatibility**: FlashInfer kernels can be captured by CUDAGraphs and torch.compile for low-latency inference.
29
29
  6. **Efficient LLM-specific Operators**: High-Performance [fused kernel for Top-P, Top-K/Min-P sampling](https://docs.flashinfer.ai/api/sampling.html) without the need to sorting.
30
30
 
31
- FlashInfer support PyTorch, TVM and C++ (header-only) APIs, and can be easily integrated into existing projects.
31
+ FlashInfer supports PyTorch, TVM and C++ (header-only) APIs, and can be easily integrated into existing projects.
32
32
 
33
33
  ## News
34
34
  - [Dec 16, 2024] [Blog Post](https://flashinfer.ai/2024/12/16/flashinfer-v02-release.html) FlashInfer 0.2 - Efficient and Customizable Kernels for LLM Inference Serving
@@ -149,6 +149,7 @@ We are thrilled to share that FlashInfer is being adopted by many cutting-edge p
149
149
  - [vLLM](https://github.com/vllm-project/vllm)
150
150
  - [TGI](https://github.com/huggingface/text-generation-inference)
151
151
  - [lorax](https://github.com/predibase/lorax)
152
+ - [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM)
152
153
 
153
154
  ## Acknowledgement
154
155
 
@@ -14,6 +14,8 @@ constexpr bool USE_LOGITS_SOFT_CAP = {{ use_logits_soft_cap }};
14
14
  constexpr int HEAD_DIM_CKV = {{ head_dim_ckv }};
15
15
  constexpr int HEAD_DIM_KPE = {{ head_dim_kpe }};
16
16
 
17
+ constexpr int QO_TILE_LEN = {{ qo_tile_len }};
18
+
17
19
  using Params = BatchDecodeParamsMLA<DTypeQ, DTypeKV, DTypeO, IdType>;
18
20
  using AttentionVariant =
19
21
  DefaultAttention</*use_custom_mask=*/false, USE_SLIDING_WINDOW, USE_LOGITS_SOFT_CAP, /*use_alibi*/false>;
@@ -0,0 +1,107 @@
1
+ #include <optional>
2
+
3
+ #include "pytorch_extension_utils.h"
4
+
5
+ #include "mla_config.inc"
6
+
7
+ #include <flashinfer/attention/decode_mla_cute_sm80.cuh>
8
+ #include <flashinfer/attention/scheduler.cuh>
9
+
10
+ using namespace flashinfer;
11
+
12
+ std::vector<int64_t> BatchDecodeWithPagedKVCachePlanMLA(
13
+ at::Tensor float_workspace_buffer, at::Tensor int_workspace_buffer,
14
+ at::Tensor page_locked_int_workspace_buffer, at::Tensor indptr, unsigned int batch_size,
15
+ unsigned int num_qo_heads, unsigned int page_size, bool enable_cuda_graph,
16
+ int64_t cuda_stream) {
17
+ size_t float_workspace_size_in_bytes =
18
+ float_workspace_buffer.size(0) * float_workspace_buffer.element_size();
19
+ size_t int_workspace_size_in_bytes =
20
+ int_workspace_buffer.size(0) * int_workspace_buffer.element_size();
21
+
22
+ DecodePlanInfo plan_info;
23
+ cudaStream_t stream = reinterpret_cast<cudaStream_t>(cuda_stream);
24
+
25
+ auto work_estimation_func =
26
+ BatchDecodeWithPagedKVCacheWorkEstimationDispatchedMlaCuteSM80<HEAD_DIM_CKV, HEAD_DIM_KPE, QO_TILE_LEN,
27
+ AttentionVariant, Params>;
28
+ cudaError_t status =
29
+ DecodePlan<HEAD_DIM_CKV, flashinfer::PosEncodingMode::kNone, AttentionVariant, Params>(
30
+ static_cast<void*>(float_workspace_buffer.data_ptr()), float_workspace_size_in_bytes,
31
+ static_cast<void*>(int_workspace_buffer.data_ptr()),
32
+ static_cast<void*>(page_locked_int_workspace_buffer.data_ptr()),
33
+ int_workspace_size_in_bytes, plan_info, static_cast<IdType*>(indptr.data_ptr()),
34
+ batch_size, num_qo_heads, page_size, enable_cuda_graph, /*stream=*/stream,
35
+ work_estimation_func);
36
+
37
+ TORCH_CHECK(status == cudaSuccess, "BatchDecodeWithPagedKVCachePlanMLA failed with error ",
38
+ cudaGetErrorString(status));
39
+
40
+ return plan_info.ToVector();
41
+ }
42
+
43
+
44
+ void BatchDecodeWithPagedKVCacheRunMLA(
45
+ at::Tensor float_workspace_buffer, at::Tensor int_workspace_buffer,
46
+ std::vector<int64_t> plan_info_vec, at::Tensor q_nope, at::Tensor q_pe,
47
+ at::Tensor paged_ckv_cache, at::Tensor paged_kpe_cache, at::Tensor paged_kv_indptr,
48
+ at::Tensor paged_kv_indices, at::Tensor paged_kv_last_page_len, at::Tensor o, float sm_scale,
49
+ int window_left, float logits_soft_cap, float rope_scale, float rope_theta,
50
+ std::optional<at::Tensor> maybe_lse, int64_t cuda_stream) {
51
+ DecodePlanInfo plan_info;
52
+ plan_info.FromVector(plan_info_vec);
53
+
54
+ auto device = q_nope.device();
55
+ int64_t batch_size = q_nope.size(0);
56
+ int64_t num_qo_heads = q_nope.size(1);
57
+ int64_t page_size = paged_ckv_cache.size(1);
58
+
59
+ if (maybe_lse) {
60
+ const auto& lse = *maybe_lse;
61
+ TORCH_CHECK(lse.size(0) == batch_size, lse.size(0), q_nope.size(0));
62
+ TORCH_CHECK(lse.size(1) == num_qo_heads, lse.size(1), q_nope.size(1));
63
+ }
64
+
65
+ TORCH_CHECK(logits_soft_cap >= 0.f, "logits_soft_cap must be non-negative");
66
+
67
+ void* float_buffer = static_cast<void*>(float_workspace_buffer.data_ptr());
68
+ void* int_buffer = static_cast<void*>(int_workspace_buffer.data_ptr());
69
+
70
+ paged_kv_mla_t<DTypeKV, IdType> paged_kv(
71
+ page_size, HEAD_DIM_CKV, HEAD_DIM_KPE, batch_size,
72
+ static_cast<DTypeKV*>(paged_ckv_cache.data_ptr()), paged_ckv_cache.strides().data(),
73
+ static_cast<DTypeKV*>(paged_kpe_cache.data_ptr()), paged_kpe_cache.strides().data(),
74
+ static_cast<IdType*>(paged_kv_indices.data_ptr()),
75
+ static_cast<IdType*>(paged_kv_indptr.data_ptr()),
76
+ static_cast<IdType*>(paged_kv_last_page_len.data_ptr()));
77
+ Params params(static_cast<DTypeQ*>(q_nope.data_ptr()), static_cast<DTypeQ*>(q_pe.data_ptr()),
78
+ /*q_offset=*/nullptr, paged_kv, static_cast<DTypeO*>(o.data_ptr()),
79
+ /*lse=*/(maybe_lse ? static_cast<float*>(maybe_lse->data_ptr()) : nullptr),
80
+ num_qo_heads, window_left, logits_soft_cap, sm_scale, rope_scale, rope_theta);
81
+
82
+ DTypeO* tmp_v = nullptr;
83
+ float* tmp_s = nullptr;
84
+ params.request_indices =
85
+ GetPtrFromBaseOffset<IdType>(int_buffer, plan_info.request_indices_offset);
86
+ params.kv_tile_indices =
87
+ GetPtrFromBaseOffset<IdType>(int_buffer, plan_info.kv_tile_indices_offset);
88
+ params.o_indptr = GetPtrFromBaseOffset<IdType>(int_buffer, plan_info.o_indptr_offset);
89
+ params.kv_chunk_size_ptr =
90
+ GetPtrFromBaseOffset<IdType>(int_buffer, plan_info.kv_chunk_size_ptr_offset);
91
+ if (plan_info.split_kv) {
92
+ tmp_v = GetPtrFromBaseOffset<DTypeO>(float_buffer, plan_info.v_offset);
93
+ tmp_s = GetPtrFromBaseOffset<float>(float_buffer, plan_info.s_offset);
94
+ if (plan_info.enable_cuda_graph) {
95
+ params.block_valid_mask =
96
+ GetPtrFromBaseOffset<bool>(int_buffer, plan_info.block_valid_mask_offset);
97
+ }
98
+ }
99
+ params.padded_batch_size = plan_info.padded_batch_size;
100
+
101
+ cudaStream_t stream = reinterpret_cast<cudaStream_t>(cuda_stream);
102
+ cudaError_t status =
103
+ BatchDecodeWithPagedKVCacheDispatchedMlaCuteSM80<HEAD_DIM_CKV, HEAD_DIM_KPE, QO_TILE_LEN,
104
+ Params>(params, tmp_v, tmp_s, /*stream=*/stream);
105
+ TORCH_CHECK(status == cudaSuccess, "BatchDecodeWithPagedKVCache failed with error ",
106
+ cudaGetErrorString(status));
107
+ }
@@ -68,10 +68,11 @@ void BatchMLAPagedAttentionRun(at::Tensor float_workspace_buffer, at::Tensor int
68
68
  params.q_pe = static_cast<DTypeQ*>(q_pe.data_ptr());
69
69
  params.ckv = static_cast<DTypeKV*>(ckv_cache.data_ptr());
70
70
  params.kpe = static_cast<DTypeKV*>(kpe_cache.data_ptr());
71
- params.kv_indices = static_cast<IdType*>(kv_indices.data_ptr());
72
71
 
73
72
  params.q_indptr = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.q_indptr_offset);
74
73
  params.kv_indptr = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.kv_indptr_offset);
74
+ params.partial_indptr =
75
+ GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.partial_indptr_offset);
75
76
  params.kv_indices = static_cast<IdType*>(kv_indices.data_ptr());
76
77
  params.q_len = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.q_len_offset);
77
78
  params.kv_len = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.kv_len_offset);
@@ -80,6 +81,12 @@ void BatchMLAPagedAttentionRun(at::Tensor float_workspace_buffer, at::Tensor int
80
81
  params.kv_end = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.kv_end_offset);
81
82
  params.work_indptr =
82
83
  GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.work_indptr_offset);
84
+ params.merge_packed_offset_start = GetPtrFromBaseOffset<IdType>(
85
+ int_buffer_ptr, plan_info.merge_packed_offset_start_offset);
86
+ params.merge_packed_offset_end =
87
+ GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.merge_packed_offset_end_offset);
88
+ params.merge_indptr =
89
+ GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.merge_indptr_offset);
83
90
  params.final_o = static_cast<DTypeO*>(o.data_ptr());
84
91
  params.final_lse =
85
92
  maybe_lse.has_value() ? static_cast<float*>(maybe_lse->data_ptr()) : nullptr;
@@ -0,0 +1 @@
1
+ __version__ = '0.2.1.post2'
@@ -45,6 +45,7 @@ from .utils import (
45
45
  _check_cached_qkv_data_type,
46
46
  _check_kv_layout,
47
47
  _check_pos_encoding_mode,
48
+ _check_shape_dtype_device,
48
49
  _get_cache_alibi_slopes_buf,
49
50
  _get_cache_buf,
50
51
  _get_range_buf,
@@ -972,6 +973,8 @@ class BatchDecodeWithPagedKVCacheWrapper:
972
973
  q_scale: Optional[float] = None,
973
974
  k_scale: Optional[float] = None,
974
975
  v_scale: Optional[float] = None,
976
+ out: Optional[torch.Tensor] = None,
977
+ lse: Optional[torch.Tensor] = None,
975
978
  return_lse: Literal[False] = False,
976
979
  ) -> torch.Tensor: ...
977
980
 
@@ -984,6 +987,8 @@ class BatchDecodeWithPagedKVCacheWrapper:
984
987
  q_scale: Optional[float] = None,
985
988
  k_scale: Optional[float] = None,
986
989
  v_scale: Optional[float] = None,
990
+ out: Optional[torch.Tensor] = None,
991
+ lse: Optional[torch.Tensor] = None,
987
992
  return_lse: Literal[True] = True,
988
993
  ) -> Tuple[torch.Tensor, torch.Tensor]: ...
989
994
 
@@ -995,6 +1000,8 @@ class BatchDecodeWithPagedKVCacheWrapper:
995
1000
  q_scale: Optional[float] = None,
996
1001
  k_scale: Optional[float] = None,
997
1002
  v_scale: Optional[float] = None,
1003
+ out: Optional[torch.Tensor] = None,
1004
+ lse: Optional[torch.Tensor] = None,
998
1005
  return_lse: bool = False,
999
1006
  ) -> Union[torch.Tensor, Tuple[torch.Tensor, torch.Tensor]]:
1000
1007
  r"""Compute batch decode attention between query and paged kv cache.
@@ -1016,13 +1023,18 @@ class BatchDecodeWithPagedKVCacheWrapper:
1016
1023
  ``[max_num_pages, 2, num_kv_heads, page_size, head_dim]`` if
1017
1024
  :attr:`kv_layout` is ``HND``. Where ``paged_kv_cache[:, 0]`` is the key-cache and
1018
1025
  ``paged_kv_cache[:, 1]`` is the value-cache.
1019
-
1026
+ *args
1027
+ Additional arguments for the custom kernel.
1020
1028
  q_scale : Optional[float]
1021
1029
  The calibration scale of query for fp8 input, if not provided, will be set to ``1.0``.
1022
1030
  k_scale : Optional[float]
1023
1031
  The calibration scale of key for fp8 input, if not provided, will be set to ``1.0``.
1024
1032
  v_scale : Optional[float]
1025
1033
  The calibration scale of value for fp8 input, if not provided, will be set to ``1.0``.
1034
+ out : Optional[torch.Tensor]
1035
+ The output tensor, if not provided, will be allocated internally.
1036
+ lse : Optional[torch.Tensor]
1037
+ The log-sum-exp of attention logits, if not provided, will be allocated internally.
1026
1038
  return_lse : bool
1027
1039
  Whether to return the logsumexp of attention scores, defaults to ``False``.
1028
1040
 
@@ -1061,13 +1073,21 @@ class BatchDecodeWithPagedKVCacheWrapper:
1061
1073
  if rope_theta is None:
1062
1074
  rope_theta = 1e4
1063
1075
 
1064
- lse = None
1065
1076
  if return_lse:
1066
- lse = torch.empty(
1067
- (q.size(0), q.size(1)), dtype=torch.float32, device=q.device
1068
- )
1077
+ if lse is None:
1078
+ lse = torch.empty(
1079
+ (q.size(0), q.size(1)), dtype=torch.float32, device=q.device
1080
+ )
1081
+ else:
1082
+ _check_shape_dtype_device(
1083
+ lse, (q.size(0), q.size(1)), torch.float32, q.device, "lse"
1084
+ )
1085
+
1086
+ if out is None:
1087
+ out = torch.empty_like(q)
1088
+ else:
1089
+ _check_shape_dtype_device(out, q.shape, q.dtype, q.device, "out")
1069
1090
 
1070
- out = torch.empty_like(q)
1071
1091
  if self.use_tensor_cores:
1072
1092
  run_args = [
1073
1093
  self._float_workspace_buffer,
@@ -1252,6 +1272,7 @@ class BatchDecodeMlaWithPagedKVCacheWrapper:
1252
1272
  self,
1253
1273
  float_workspace_buffer: torch.Tensor,
1254
1274
  use_cuda_graph: bool = False,
1275
+ use_tensor_cores: bool = False,
1255
1276
  paged_kv_indptr_buffer: Optional[torch.Tensor] = None,
1256
1277
  paged_kv_indices_buffer: Optional[torch.Tensor] = None,
1257
1278
  paged_kv_last_page_len_buffer: Optional[torch.Tensor] = None,
@@ -1270,6 +1291,10 @@ class BatchDecodeMlaWithPagedKVCacheWrapper:
1270
1291
  auxiliary data structures will be stored as the provided buffers. The ``batch_size``
1271
1292
  cannot change during the lifecycle of this wrapper when CUDAGraph is enabled.
1272
1293
 
1294
+ use_tensor_cores : bool
1295
+ Whether to use tensor cores for the computation. Will be faster for large group
1296
+ size in grouped query attention. Defaults to ``False``.
1297
+
1273
1298
  paged_kv_indptr_buffer : Optional[torch.Tensor]
1274
1299
  The user reserved buffer on GPU to store the indptr of the paged kv cache, the size
1275
1300
  of the buffer should be ``[batch_size + 1]``.
@@ -1319,6 +1344,7 @@ class BatchDecodeMlaWithPagedKVCacheWrapper:
1319
1344
  else:
1320
1345
  self._fixed_batch_size = 0
1321
1346
 
1347
+ self._use_tensor_cores = use_tensor_cores
1322
1348
  self._paged_kv_indptr_buf = paged_kv_indptr_buffer
1323
1349
  self._paged_kv_indices_buf = paged_kv_indices_buffer
1324
1350
  self._paged_kv_last_page_len_buf = paged_kv_last_page_len_buffer
@@ -1328,6 +1354,10 @@ class BatchDecodeMlaWithPagedKVCacheWrapper:
1328
1354
  def is_cuda_graph_enabled(self) -> bool:
1329
1355
  return self._use_cuda_graph
1330
1356
 
1357
+ @property
1358
+ def use_tensor_cores(self) -> bool:
1359
+ return self._use_tensor_cores
1360
+
1331
1361
  def reset_workspace_buffer(
1332
1362
  self, float_workspace_buffer: torch.Tensor, int_workspace_buffer: torch.Tensor
1333
1363
  ) -> None:
@@ -1445,8 +1475,10 @@ class BatchDecodeMlaWithPagedKVCacheWrapper:
1445
1475
  q_data_type,
1446
1476
  indptr.dtype,
1447
1477
  head_dim_compressed_kv,
1478
+ num_qo_heads,
1448
1479
  window_left != -1, # use_sliding_window
1449
1480
  logits_soft_cap > 0, # use_logits_soft_cap
1481
+ self._use_tensor_cores,
1450
1482
  )
1451
1483
  with self.device as device:
1452
1484
  self._plan_info = self._cached_module.plan(
@@ -1476,6 +1508,8 @@ class BatchDecodeMlaWithPagedKVCacheWrapper:
1476
1508
  q_scale: Optional[float] = None,
1477
1509
  k_scale: Optional[float] = None,
1478
1510
  v_scale: Optional[float] = None,
1511
+ out: Optional[torch.Tensor] = None,
1512
+ lse: Optional[torch.Tensor] = None,
1479
1513
  return_lse: bool = False,
1480
1514
  ) -> Union[torch.Tensor, Tuple[torch.Tensor, torch.Tensor]]:
1481
1515
  r"""Compute batch decode attention between query and paged kv cache.
@@ -1498,6 +1532,10 @@ class BatchDecodeMlaWithPagedKVCacheWrapper:
1498
1532
  The calibration scale of key for fp8 input, if not provided, will be set to ``1.0``.
1499
1533
  v_scale : Optional[float]
1500
1534
  The calibration scale of value for fp8 input, if not provided, will be set to ``1.0``.
1535
+ out : Optional[torch.Tensor]
1536
+ The output tensor, if not provided, will be allocated internally.
1537
+ lse : Optional[torch.Tensor]
1538
+ The log-sum-exp of attention logits, if not provided, will be allocated internally.
1501
1539
  return_lse : bool
1502
1540
  Whether to return the logsumexp of attention scores, defaults to ``False``.
1503
1541
 
@@ -1527,14 +1565,28 @@ class BatchDecodeMlaWithPagedKVCacheWrapper:
1527
1565
  rope_theta = 1e4
1528
1566
 
1529
1567
  with self.device as device:
1530
- o = torch.empty_like(q_nope, device=device)
1531
- maybe_lse = (
1532
- torch.empty(
1533
- (q_nope.size(0), q_nope.size(1)), dtype=torch.float32, device=device
1568
+ if out is None:
1569
+ out = torch.empty_like(q_nope, device=device)
1570
+ else:
1571
+ _check_shape_dtype_device(
1572
+ out, q_nope.shape, q_nope.dtype, q_nope.device, "out"
1534
1573
  )
1535
- if return_lse
1536
- else None
1537
- )
1574
+
1575
+ if return_lse:
1576
+ if lse is None:
1577
+ lse = torch.empty(
1578
+ (q_nope.size(0), q_nope.size(1)),
1579
+ dtype=torch.float32,
1580
+ device=device,
1581
+ )
1582
+ else:
1583
+ _check_shape_dtype_device(
1584
+ lse,
1585
+ (q_nope.size(0), q_nope.size(1)),
1586
+ q_nope.dtype,
1587
+ q_nope.device,
1588
+ "lse",
1589
+ )
1538
1590
  self._cached_module.run(
1539
1591
  self._float_workspace_buffer,
1540
1592
  self._int_workspace_buffer,
@@ -1546,16 +1598,16 @@ class BatchDecodeMlaWithPagedKVCacheWrapper:
1546
1598
  self._paged_kv_indptr_buf,
1547
1599
  self._paged_kv_indices_buf,
1548
1600
  self._paged_kv_last_page_len_buf,
1549
- o,
1601
+ out,
1550
1602
  sm_scale,
1551
1603
  window_left,
1552
1604
  logits_soft_cap,
1553
1605
  rope_scale,
1554
1606
  rope_theta,
1555
- maybe_lse,
1607
+ lse,
1556
1608
  get_cuda_stream(device),
1557
1609
  )
1558
- out = [o, maybe_lse] if return_lse else [o]
1610
+ out = [out, lse] if return_lse else [out]
1559
1611
  if v_scale is not None:
1560
1612
  out[0] *= v_scale
1561
1613
 
@@ -22,7 +22,7 @@ from typing import List, Tuple
22
22
  import jinja2
23
23
  import torch
24
24
 
25
- from .core import load_cuda_ops, sm90a_nvcc_flags
25
+ from .core import logger, load_cuda_ops, sm90a_nvcc_flags
26
26
  from .env import FLASHINFER_CSRC_DIR, FLASHINFER_GEN_SRC_DIR
27
27
  from .utils import (
28
28
  dtype_map,
@@ -216,20 +216,20 @@ def get_batch_decode_mla_uri(
216
216
  dtype_kv: torch.dtype,
217
217
  dtype_o: torch.dtype,
218
218
  dtype_idx: torch.dtype,
219
- head_dim_qk: int,
220
- head_dim_vo: int,
219
+ head_dim_ckv: int,
221
220
  use_sliding_window: bool,
222
221
  use_logits_soft_cap: bool,
222
+ arc: str,
223
223
  ) -> str:
224
224
  return (
225
225
  f"batch_decode_mla_with_kv_cache_dtype_q_{filename_safe_dtype_map[dtype_q]}_"
226
226
  f"dtype_kv_{filename_safe_dtype_map[dtype_kv]}_"
227
227
  f"dtype_o_{filename_safe_dtype_map[dtype_o]}_"
228
228
  f"dtype_idx_{filename_safe_dtype_map[dtype_idx]}_"
229
- f"head_dim_qk_{head_dim_qk}_"
230
- f"head_dim_vo_{head_dim_vo}_"
229
+ f"head_dim_ckv{head_dim_ckv}_"
231
230
  f"use_swa_{use_sliding_window}_"
232
- f"use_logits_cap_{use_logits_soft_cap}"
231
+ f"use_logits_cap_{use_logits_soft_cap}_"
232
+ f"arc_{arc}"
233
233
  )
234
234
 
235
235
 
@@ -239,18 +239,39 @@ def gen_batch_decode_mla_module(
239
239
  dtype_o: torch.dtype,
240
240
  dtype_idx: torch.dtype,
241
241
  head_dim: int,
242
+ num_qo_heads: int,
242
243
  use_sliding_window: bool,
243
244
  use_logits_soft_cap: bool,
245
+ use_tensor_cores: bool,
244
246
  ):
247
+ cuda_arch_major = torch.cuda.get_device_properties(0).major
248
+
249
+ if cuda_arch_major >= 9: # smem size of SM90 can accommodate all 128 qo-heads data
250
+ qo_tile_len = 128
251
+ else:
252
+ qo_tile_len = 64
253
+
254
+ if (
255
+ use_tensor_cores and
256
+ cuda_arch_major >= 8 and num_qo_heads % qo_tile_len == 0 and
257
+ dtype_q == torch.float16 and dtype_kv == torch.float16 and
258
+ dtype_o == torch.float16
259
+ ):
260
+ logger.info(f"Use tensor-core SM80 version of MLA decode kernel.")
261
+ arc = "sm80"
262
+ else:
263
+ logger.info(f"Fall back to cuda-core version of MLA decode kernel.")
264
+ arc = "cuda_core"
265
+
245
266
  uri = get_batch_decode_mla_uri(
246
267
  dtype_q,
247
268
  dtype_kv,
248
269
  dtype_o,
249
270
  dtype_idx,
250
271
  head_dim,
251
- head_dim,
252
272
  use_sliding_window,
253
273
  use_logits_soft_cap,
274
+ arc,
254
275
  )
255
276
  gen_directory = FLASHINFER_GEN_SRC_DIR / uri
256
277
  os.makedirs(gen_directory, exist_ok=True)
@@ -267,17 +288,27 @@ def gen_batch_decode_mla_module(
267
288
  dtype_idx=dtype_map[dtype_idx],
268
289
  head_dim_ckv=head_dim,
269
290
  head_dim_kpe=head_dim // 8,
291
+ qo_tile_len=qo_tile_len,
270
292
  use_sliding_window=str(use_sliding_window).lower(),
271
293
  use_logits_soft_cap=str(use_logits_soft_cap).lower(),
272
294
  ),
273
295
  )
296
+
297
+ filenames = []
298
+ if arc == "sm80":
299
+ filenames = [
300
+ "batch_decode_mla_cute_sm80.cu",
301
+ "batch_decode_mla_pybind.cu",
302
+ ]
303
+ else:
304
+ filenames = [
305
+ "batch_decode_mla_plan.cu",
306
+ "batch_decode_mla_run.cu",
307
+ "batch_decode_mla_pybind.cu",
308
+ ]
274
309
 
275
310
  source_paths = []
276
- for filename in [
277
- "batch_decode_mla_plan.cu",
278
- "batch_decode_mla_run.cu",
279
- "batch_decode_mla_pybind.cu",
280
- ]:
311
+ for filename in filenames:
281
312
  src_path = FLASHINFER_CSRC_DIR / filename
282
313
  dest_path = gen_directory / filename
283
314
  source_paths.append(dest_path)
@@ -21,7 +21,13 @@ from typing import List, Literal, Optional, Tuple, Union, overload
21
21
  import torch
22
22
 
23
23
  from .jit import gen_batch_mla_module, get_batch_mla_uri
24
- from .utils import MaskMode, get_cuda_stream, register_custom_op, register_fake_op
24
+ from .utils import (
25
+ MaskMode,
26
+ _check_shape_dtype_device,
27
+ get_cuda_stream,
28
+ register_custom_op,
29
+ register_fake_op,
30
+ )
25
31
 
26
32
  _batch_mla_modules = {}
27
33
 
@@ -267,6 +273,8 @@ class BatchMLAPagedAttentionWrapper:
267
273
  q_pe: torch.Tensor,
268
274
  ckv_cache: torch.Tensor,
269
275
  kpe_cache: torch.Tensor,
276
+ out: Optional[torch.Tensor] = None,
277
+ lse: Optional[torch.Tensor] = None,
270
278
  return_lse: bool = False,
271
279
  ) -> Union[torch.Tensor, Tuple[torch.Tensor, torch.Tensor]]:
272
280
  r"""Run the MLA attention computation.
@@ -283,6 +291,10 @@ class BatchMLAPagedAttentionWrapper:
283
291
  kpe_cache : torch.Tensor
284
292
  The rope part of the kv-cache tensor, shape: ``[num_pages, page_size, head_dim_kpe]``.
285
293
  ``head_dim_kpe`` is 64 in DeepSeek v2/v3 models.
294
+ out : Optional[torch.Tensor]
295
+ The output tensor, if not provided, will be allocated internally.
296
+ lse : Optional[torch.Tensor]
297
+ The log-sum-exp of attention logits, if not provided, will be allocated internally.
286
298
  return_lse : bool, optional
287
299
  Whether to return the log-sum-exp value, default is False.
288
300
  """
@@ -292,12 +304,22 @@ class BatchMLAPagedAttentionWrapper:
292
304
  causal = self._causal
293
305
  mask_mode = MaskMode.CAUSAL.value if causal else MaskMode.NON_CAUSAL.value
294
306
  with self.device as device:
295
- o = torch.empty_like(q_nope)
296
- maybe_lse = (
297
- torch.empty(q_nope.shape[:2], dtype=torch.float32, device=device)
298
- if return_lse
299
- else None
300
- )
307
+ if out is None:
308
+ out = torch.empty_like(q_nope)
309
+ else:
310
+ _check_shape_dtype_device(
311
+ out, q_nope.shape, q_nope.dtype, q_nope.device, "out"
312
+ )
313
+
314
+ if return_lse:
315
+ if lse is None:
316
+ lse = torch.empty(
317
+ q_nope.shape[:2], dtype=torch.float32, device=device
318
+ )
319
+ else:
320
+ _check_shape_dtype_device(
321
+ lse, q_nope.shape[:2], torch.float32, q_nope.device, "lse"
322
+ )
301
323
  self._cached_module.run(
302
324
  self._float_workspace_buffer,
303
325
  self._int_workspace_buffer,
@@ -307,8 +329,8 @@ class BatchMLAPagedAttentionWrapper:
307
329
  ckv_cache,
308
330
  kpe_cache,
309
331
  self._kv_indices_buf,
310
- o,
311
- maybe_lse,
332
+ out,
333
+ lse,
312
334
  mask_mode,
313
335
  num_heads,
314
336
  page_size,
@@ -316,4 +338,4 @@ class BatchMLAPagedAttentionWrapper:
316
338
  get_cuda_stream(device),
317
339
  )
318
340
 
319
- return (o, maybe_lse) if return_lse else o
341
+ return (out, lse) if return_lse else out