flashinfer-python 0.2.2__tar.gz → 0.2.3__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 (1191) hide show
  1. flashinfer_python-0.2.3/PKG-INFO +198 -0
  2. flashinfer_python-0.2.3/csrc/activation.cu +125 -0
  3. flashinfer_python-0.2.3/csrc/batch_mla_config.jinja +33 -0
  4. flashinfer_python-0.2.3/csrc/batch_mla_run.cu +124 -0
  5. flashinfer_python-0.2.3/csrc/batch_mla_sm90_pybind.cu +37 -0
  6. flashinfer_python-0.2.3/csrc/batch_mla_sm90_run.cu +128 -0
  7. flashinfer_python-0.2.3/csrc/flashinfer_norm_ops.cu +39 -0
  8. flashinfer_python-0.2.3/csrc/flashinfer_ops.cu +297 -0
  9. flashinfer_python-0.2.3/csrc/flashinfer_sampling_ops.cu +84 -0
  10. flashinfer_python-0.2.3/csrc/generated/aot_default_additional_params.h +45 -0
  11. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +40 -0
  12. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +40 -0
  13. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +40 -0
  14. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_e4m3_dtypekv_e4m3_dtypeout_e4m3_idtype_i32.cu +40 -0
  15. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_e5m2_dtypekv_e5m2_dtypeout_e5m2_idtype_i32.cu +40 -0
  16. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +40 -0
  17. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +40 -0
  18. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +40 -0
  19. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +40 -0
  20. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +40 -0
  21. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +40 -0
  22. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_e4m3_dtypekv_e4m3_dtypeout_e4m3_idtype_i32.cu +40 -0
  23. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_e5m2_dtypekv_e5m2_dtypeout_e5m2_idtype_i32.cu +40 -0
  24. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +40 -0
  25. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +40 -0
  26. flashinfer_python-0.2.3/csrc/generated/batch_paged_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +40 -0
  27. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +79 -0
  28. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +100 -0
  29. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +79 -0
  30. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +79 -0
  31. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +79 -0
  32. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +79 -0
  33. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +79 -0
  34. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +100 -0
  35. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +79 -0
  36. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +100 -0
  37. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +79 -0
  38. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +79 -0
  39. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +79 -0
  40. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +79 -0
  41. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +79 -0
  42. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +100 -0
  43. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +79 -0
  44. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +100 -0
  45. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +79 -0
  46. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +79 -0
  47. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +79 -0
  48. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +79 -0
  49. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +79 -0
  50. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +100 -0
  51. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +100 -0
  52. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +100 -0
  53. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +100 -0
  54. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +100 -0
  55. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +100 -0
  56. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +100 -0
  57. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +79 -0
  58. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +100 -0
  59. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +79 -0
  60. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +79 -0
  61. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +79 -0
  62. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +79 -0
  63. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +79 -0
  64. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +100 -0
  65. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +79 -0
  66. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +100 -0
  67. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +79 -0
  68. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +79 -0
  69. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +79 -0
  70. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +79 -0
  71. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +79 -0
  72. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +100 -0
  73. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +79 -0
  74. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +100 -0
  75. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +79 -0
  76. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +79 -0
  77. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +79 -0
  78. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +79 -0
  79. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +79 -0
  80. flashinfer_python-0.2.3/csrc/generated/batch_paged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +100 -0
  81. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +80 -0
  82. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +93 -0
  83. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +80 -0
  84. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +80 -0
  85. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +80 -0
  86. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +80 -0
  87. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +80 -0
  88. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +93 -0
  89. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +80 -0
  90. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +93 -0
  91. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +80 -0
  92. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +80 -0
  93. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +80 -0
  94. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +80 -0
  95. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +80 -0
  96. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +93 -0
  97. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +80 -0
  98. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +93 -0
  99. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +80 -0
  100. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +80 -0
  101. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +80 -0
  102. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +80 -0
  103. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +80 -0
  104. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +93 -0
  105. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +93 -0
  106. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +93 -0
  107. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +93 -0
  108. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +93 -0
  109. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +93 -0
  110. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +93 -0
  111. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +80 -0
  112. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +93 -0
  113. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +80 -0
  114. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +80 -0
  115. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +80 -0
  116. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +80 -0
  117. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +80 -0
  118. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +93 -0
  119. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +80 -0
  120. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +93 -0
  121. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +80 -0
  122. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +80 -0
  123. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +80 -0
  124. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +80 -0
  125. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +80 -0
  126. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +93 -0
  127. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32.cu +80 -0
  128. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_idtype_i32_sm90.cu +93 -0
  129. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16_idtype_i32.cu +80 -0
  130. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16_idtype_i32.cu +80 -0
  131. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16_idtype_i32.cu +80 -0
  132. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16_idtype_i32.cu +80 -0
  133. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32.cu +80 -0
  134. flashinfer_python-0.2.3/csrc/generated/batch_ragged_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_idtype_i32_sm90.cu +93 -0
  135. flashinfer_python-0.2.3/csrc/generated/dispatch.inc +24 -0
  136. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +32 -0
  137. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +32 -0
  138. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +32 -0
  139. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_e4m3_dtypekv_e4m3_dtypeout_e4m3.cu +32 -0
  140. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_e5m2_dtypekv_e5m2_dtypeout_e5m2.cu +32 -0
  141. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +32 -0
  142. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +32 -0
  143. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_128_head_vo_128_posenc_0_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +32 -0
  144. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +32 -0
  145. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +32 -0
  146. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +32 -0
  147. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_e4m3_dtypekv_e4m3_dtypeout_e4m3.cu +32 -0
  148. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_e5m2_dtypekv_e5m2_dtypeout_e5m2.cu +32 -0
  149. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +32 -0
  150. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +32 -0
  151. flashinfer_python-0.2.3/csrc/generated/single_decode_head_qk_256_head_vo_256_posenc_0_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +32 -0
  152. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +32 -0
  153. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +32 -0
  154. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +32 -0
  155. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +32 -0
  156. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +32 -0
  157. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +32 -0
  158. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +32 -0
  159. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +32 -0
  160. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +32 -0
  161. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +32 -0
  162. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +32 -0
  163. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +32 -0
  164. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +32 -0
  165. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +32 -0
  166. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +32 -0
  167. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +32 -0
  168. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +32 -0
  169. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +32 -0
  170. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +32 -0
  171. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +32 -0
  172. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +32 -0
  173. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +32 -0
  174. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +32 -0
  175. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_128_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +32 -0
  176. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +32 -0
  177. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +32 -0
  178. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +32 -0
  179. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +32 -0
  180. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +32 -0
  181. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_192_head_vo_128_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +32 -0
  182. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +32 -0
  183. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +32 -0
  184. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +32 -0
  185. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +32 -0
  186. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +32 -0
  187. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +32 -0
  188. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +32 -0
  189. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_0_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +32 -0
  190. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +32 -0
  191. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +32 -0
  192. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +32 -0
  193. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +32 -0
  194. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +32 -0
  195. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +32 -0
  196. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +32 -0
  197. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_1_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +32 -0
  198. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16.cu +32 -0
  199. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_bf16_dtypeout_bf16_sm90.cu +32 -0
  200. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e4m3_dtypeout_bf16.cu +32 -0
  201. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_bf16_dtypekv_e5m2_dtypeout_bf16.cu +32 -0
  202. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e4m3_dtypeout_f16.cu +32 -0
  203. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_e5m2_dtypeout_f16.cu +32 -0
  204. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16.cu +32 -0
  205. flashinfer_python-0.2.3/csrc/generated/single_prefill_head_qk_256_head_vo_256_posenc_0_fp16qkred_0_mask_2_dtypeq_f16_dtypekv_f16_dtypeout_f16_sm90.cu +32 -0
  206. flashinfer_python-0.2.3/csrc/norm.cu +131 -0
  207. flashinfer_python-0.2.3/csrc/sampling.cu +227 -0
  208. flashinfer_python-0.2.3/flashinfer/_build_meta.py +1 -0
  209. flashinfer_python-0.2.3/flashinfer/activation.py +215 -0
  210. flashinfer_python-0.2.3/flashinfer/gemm.py +653 -0
  211. flashinfer_python-0.2.3/flashinfer/jit/__init__.py +76 -0
  212. flashinfer_python-0.2.3/flashinfer/jit/activation.py +89 -0
  213. flashinfer_python-0.2.3/flashinfer/jit/attention/pytorch.py +1089 -0
  214. flashinfer_python-0.2.3/flashinfer/mla.py +371 -0
  215. flashinfer_python-0.2.3/flashinfer/norm.py +260 -0
  216. flashinfer_python-0.2.3/flashinfer/page.py +350 -0
  217. flashinfer_python-0.2.3/flashinfer/sampling.py +1243 -0
  218. flashinfer_python-0.2.3/flashinfer/sparse.py +620 -0
  219. flashinfer_python-0.2.3/flashinfer/triton/gemm.py +104 -0
  220. flashinfer_python-0.2.3/flashinfer/triton/page.py +42 -0
  221. flashinfer_python-0.2.3/flashinfer_python.egg-info/PKG-INFO +198 -0
  222. flashinfer_python-0.2.3/flashinfer_python.egg-info/SOURCES.txt +1491 -0
  223. flashinfer_python-0.2.3/include/flashinfer/activation.cuh +69 -0
  224. flashinfer_python-0.2.3/include/flashinfer/attention/hopper/attention_updater.cuh +258 -0
  225. flashinfer_python-0.2.3/include/flashinfer/attention/hopper/default_params.cuh +158 -0
  226. flashinfer_python-0.2.3/include/flashinfer/attention/hopper/named_barrier.cuh +113 -0
  227. flashinfer_python-0.2.3/include/flashinfer/attention/hopper/quantization/epilogue.cuh +211 -0
  228. flashinfer_python-0.2.3/include/flashinfer/attention/hopper/quantization/kernel_traits.cuh +170 -0
  229. flashinfer_python-0.2.3/include/flashinfer/attention/hopper/quantization/mainloop_load.cuh +395 -0
  230. flashinfer_python-0.2.3/include/flashinfer/attention/hopper/quantization/mainloop_mma.cuh +240 -0
  231. flashinfer_python-0.2.3/include/flashinfer/attention/hopper/quantization/prefill_sm90.cuh +357 -0
  232. flashinfer_python-0.2.3/include/flashinfer/attention/hopper/utils.cuh +197 -0
  233. flashinfer_python-0.2.3/include/flashinfer/attention/hopper/variants.cuh +107 -0
  234. flashinfer_python-0.2.3/include/flashinfer/attention/mla.cuh +1045 -0
  235. flashinfer_python-0.2.3/include/flashinfer/attention/mla_hopper.cuh +982 -0
  236. flashinfer_python-0.2.3/include/flashinfer/attention/mla_params.cuh +78 -0
  237. flashinfer_python-0.2.3/include/flashinfer/attention/scheduler.cuh +1323 -0
  238. flashinfer_python-0.2.3/include/flashinfer/norm.cuh +349 -0
  239. flashinfer_python-0.2.3/include/flashinfer/profiler.cuh +135 -0
  240. flashinfer_python-0.2.3/include/flashinfer/sampling.cuh +1492 -0
  241. flashinfer_python-0.2.3/pyproject.toml +119 -0
  242. flashinfer_python-0.2.3/tests/test_activation.py +66 -0
  243. flashinfer_python-0.2.3/tests/test_deepseek_mla.py +457 -0
  244. flashinfer_python-0.2.3/tests/test_norm.py +202 -0
  245. flashinfer_python-0.2.3/tests/test_sampling.py +479 -0
  246. flashinfer_python-0.2.3/tvm_binding/batch_decode.cu +217 -0
  247. flashinfer_python-0.2.3/tvm_binding/batch_decode_customize_config.jinja +64 -0
  248. flashinfer_python-0.2.3/tvm_binding/batch_decode_jit_tvm_binding.cu +34 -0
  249. flashinfer_python-0.2.3/tvm_binding/batch_mla_config.jinja +27 -0
  250. flashinfer_python-0.2.3/tvm_binding/batch_mla_jit_tvm_binding.cu +32 -0
  251. flashinfer_python-0.2.3/tvm_binding/batch_mla_plan.cu +55 -0
  252. flashinfer_python-0.2.3/tvm_binding/batch_mla_run.cu +130 -0
  253. flashinfer_python-0.2.3/tvm_binding/batch_prefill.cu +381 -0
  254. flashinfer_python-0.2.3/tvm_binding/batch_prefill_customize_config.jinja +126 -0
  255. flashinfer_python-0.2.3/tvm_binding/batch_prefill_jit_tvm_binding.cu +49 -0
  256. flashinfer_python-0.2.3/tvm_binding/batch_prefill_sm90.cu +323 -0
  257. flashinfer_python-0.2.3/tvm_binding/batch_prefill_sm90_customize_config.jinja +122 -0
  258. flashinfer_python-0.2.3/tvm_binding/batch_prefill_sm90_jit_tvm_binding.cu +45 -0
  259. flashinfer_python-0.2.3/tvm_binding/tvm_binding_utils.h +38 -0
  260. flashinfer_python-0.2.3/version.txt +1 -0
  261. flashinfer_python-0.2.2/PKG-INFO +0 -198
  262. flashinfer_python-0.2.2/csrc/activation.cu +0 -81
  263. flashinfer_python-0.2.2/csrc/batch_mla_config.jinja +0 -24
  264. flashinfer_python-0.2.2/csrc/batch_mla_run.cu +0 -120
  265. flashinfer_python-0.2.2/csrc/batch_mla_sm90_pybind.cu +0 -37
  266. flashinfer_python-0.2.2/csrc/batch_mla_sm90_run.cu +0 -122
  267. flashinfer_python-0.2.2/csrc/flashinfer_norm_ops.cu +0 -39
  268. flashinfer_python-0.2.2/csrc/flashinfer_ops.cu +0 -293
  269. flashinfer_python-0.2.2/csrc/flashinfer_sampling_ops.cu +0 -76
  270. flashinfer_python-0.2.2/csrc/norm.cu +0 -127
  271. flashinfer_python-0.2.2/csrc/sampling.cu +0 -185
  272. flashinfer_python-0.2.2/flashinfer/_build_meta.py +0 -1
  273. flashinfer_python-0.2.2/flashinfer/activation.py +0 -192
  274. flashinfer_python-0.2.2/flashinfer/gemm.py +0 -737
  275. flashinfer_python-0.2.2/flashinfer/jit/__init__.py +0 -68
  276. flashinfer_python-0.2.2/flashinfer/jit/activation.py +0 -74
  277. flashinfer_python-0.2.2/flashinfer/jit/attention/pytorch.py +0 -1084
  278. flashinfer_python-0.2.2/flashinfer/mla.py +0 -355
  279. flashinfer_python-0.2.2/flashinfer/norm.py +0 -212
  280. flashinfer_python-0.2.2/flashinfer/page.py +0 -371
  281. flashinfer_python-0.2.2/flashinfer/sampling.py +0 -1225
  282. flashinfer_python-0.2.2/flashinfer/sparse.py +0 -619
  283. flashinfer_python-0.2.2/flashinfer_python.egg-info/PKG-INFO +0 -198
  284. flashinfer_python-0.2.2/flashinfer_python.egg-info/SOURCES.txt +0 -1057
  285. flashinfer_python-0.2.2/include/flashinfer/activation.cuh +0 -61
  286. flashinfer_python-0.2.2/include/flashinfer/attention/hopper/attention_updater.cuh +0 -257
  287. flashinfer_python-0.2.2/include/flashinfer/attention/hopper/default_params.cuh +0 -155
  288. flashinfer_python-0.2.2/include/flashinfer/attention/hopper/named_barrier.cuh +0 -112
  289. flashinfer_python-0.2.2/include/flashinfer/attention/hopper/utils.cuh +0 -165
  290. flashinfer_python-0.2.2/include/flashinfer/attention/hopper/variants.cuh +0 -69
  291. flashinfer_python-0.2.2/include/flashinfer/attention/mla.cuh +0 -1040
  292. flashinfer_python-0.2.2/include/flashinfer/attention/mla_hopper.cuh +0 -894
  293. flashinfer_python-0.2.2/include/flashinfer/attention/mla_params.cuh +0 -72
  294. flashinfer_python-0.2.2/include/flashinfer/attention/scheduler.cuh +0 -1261
  295. flashinfer_python-0.2.2/include/flashinfer/norm.cuh +0 -270
  296. flashinfer_python-0.2.2/include/flashinfer/sampling.cuh +0 -1408
  297. flashinfer_python-0.2.2/pyproject.toml +0 -117
  298. flashinfer_python-0.2.2/tests/test_activation.py +0 -53
  299. flashinfer_python-0.2.2/tests/test_deepseek_mla.py +0 -457
  300. flashinfer_python-0.2.2/tests/test_norm.py +0 -144
  301. flashinfer_python-0.2.2/tests/test_sampling.py +0 -397
  302. flashinfer_python-0.2.2/version.txt +0 -1
  303. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/algorithm/axpby.hpp +0 -0
  304. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/algorithm/clear.hpp +0 -0
  305. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/algorithm/cooperative_copy.hpp +0 -0
  306. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/algorithm/cooperative_gemm.hpp +0 -0
  307. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/algorithm/copy.hpp +0 -0
  308. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/algorithm/fill.hpp +0 -0
  309. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/algorithm/functional.hpp +0 -0
  310. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/algorithm/gemm.hpp +0 -0
  311. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/algorithm/prefer.hpp +0 -0
  312. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/algorithm/prefetch.hpp +0 -0
  313. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/algorithm/tensor_algorithms.hpp +0 -0
  314. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/algorithm/tuple_algorithms.hpp +0 -0
  315. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/cluster_sm90.hpp +0 -0
  316. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/config.hpp +0 -0
  317. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/copy.hpp +0 -0
  318. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/copy_sm50.hpp +0 -0
  319. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/copy_sm75.hpp +0 -0
  320. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/copy_sm80.hpp +0 -0
  321. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/copy_sm90.hpp +0 -0
  322. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/copy_sm90_desc.hpp +0 -0
  323. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/copy_sm90_tma.hpp +0 -0
  324. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/mma.hpp +0 -0
  325. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/mma_sm61.hpp +0 -0
  326. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/mma_sm70.hpp +0 -0
  327. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/mma_sm75.hpp +0 -0
  328. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/mma_sm80.hpp +0 -0
  329. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/mma_sm90.hpp +0 -0
  330. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/mma_sm90_desc.hpp +0 -0
  331. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/mma_sm90_gmma.hpp +0 -0
  332. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/mma_sm90_gmma_sparse.hpp +0 -0
  333. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/arch/util.hpp +0 -0
  334. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/copy_atom.hpp +0 -0
  335. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/copy_traits.hpp +0 -0
  336. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/copy_traits_sm50.hpp +0 -0
  337. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/copy_traits_sm75.hpp +0 -0
  338. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/copy_traits_sm80.hpp +0 -0
  339. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/copy_traits_sm90.hpp +0 -0
  340. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/copy_traits_sm90_im2col.hpp +0 -0
  341. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/copy_traits_sm90_tma.hpp +0 -0
  342. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/copy_traits_sm90_tma_swizzle.hpp +0 -0
  343. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/mma_atom.hpp +0 -0
  344. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/mma_traits.hpp +0 -0
  345. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/mma_traits_sm61.hpp +0 -0
  346. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/mma_traits_sm70.hpp +0 -0
  347. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/mma_traits_sm75.hpp +0 -0
  348. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/mma_traits_sm80.hpp +0 -0
  349. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/mma_traits_sm90.hpp +0 -0
  350. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/mma_traits_sm90_gmma.hpp +0 -0
  351. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/atom/mma_traits_sm90_gmma_sparse.hpp +0 -0
  352. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/config.hpp +0 -0
  353. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/container/alignment.hpp +0 -0
  354. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/container/array.hpp +0 -0
  355. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/container/array_aligned.hpp +0 -0
  356. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/container/array_subbyte.hpp +0 -0
  357. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/container/bit_field.hpp +0 -0
  358. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/container/cuda_types.hpp +0 -0
  359. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/container/packed_tuple.hpp +0 -0
  360. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/container/tuple.hpp +0 -0
  361. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/container/type_list.hpp +0 -0
  362. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/int_tuple.hpp +0 -0
  363. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/layout.hpp +0 -0
  364. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/layout_composed.hpp +0 -0
  365. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/numeric/arithmetic_tuple.hpp +0 -0
  366. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/numeric/complex.hpp +0 -0
  367. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/numeric/int.hpp +0 -0
  368. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/numeric/integer_sequence.hpp +0 -0
  369. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/numeric/integral_constant.hpp +0 -0
  370. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/numeric/integral_ratio.hpp +0 -0
  371. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/numeric/math.hpp +0 -0
  372. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/numeric/numeric_types.hpp +0 -0
  373. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/numeric/real.hpp +0 -0
  374. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/pointer.hpp +0 -0
  375. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/pointer_base.hpp +0 -0
  376. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/pointer_flagged.hpp +0 -0
  377. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/pointer_sparse.hpp +0 -0
  378. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/pointer_swizzle.hpp +0 -0
  379. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/stride.hpp +0 -0
  380. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/swizzle.hpp +0 -0
  381. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/swizzle_layout.hpp +0 -0
  382. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/tensor.hpp +0 -0
  383. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/tensor_impl.hpp +0 -0
  384. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/tensor_predicate.hpp +0 -0
  385. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/tensor_zip.hpp +0 -0
  386. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/underscore.hpp +0 -0
  387. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/util/debug.hpp +0 -0
  388. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/util/print.hpp +0 -0
  389. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cute/util/type_traits.hpp +0 -0
  390. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/aligned_buffer.h +0 -0
  391. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/arch.h +0 -0
  392. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/barrier.h +0 -0
  393. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/cache_operation.h +0 -0
  394. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/config.h +0 -0
  395. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/grid_dependency_control.h +0 -0
  396. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/memory.h +0 -0
  397. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/memory_sm75.h +0 -0
  398. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/memory_sm80.h +0 -0
  399. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/mma.h +0 -0
  400. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/mma_sm50.h +0 -0
  401. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/mma_sm60.h +0 -0
  402. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/mma_sm61.h +0 -0
  403. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/mma_sm70.h +0 -0
  404. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/mma_sm75.h +0 -0
  405. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/mma_sm80.h +0 -0
  406. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/mma_sm89.h +0 -0
  407. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/mma_sm90.h +0 -0
  408. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/mma_sparse_sm80.h +0 -0
  409. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/mma_sparse_sm89.h +0 -0
  410. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/reg_reconfig.h +0 -0
  411. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/simd.h +0 -0
  412. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/simd_sm60.h +0 -0
  413. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/simd_sm61.h +0 -0
  414. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/synclog.hpp +0 -0
  415. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/wmma.h +0 -0
  416. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/wmma_sm70.h +0 -0
  417. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/wmma_sm72.h +0 -0
  418. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/arch/wmma_sm75.h +0 -0
  419. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/array.h +0 -0
  420. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/array_planar_complex.h +0 -0
  421. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/array_subbyte.h +0 -0
  422. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/barrier.h +0 -0
  423. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/bfloat16.h +0 -0
  424. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/blas3.h +0 -0
  425. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/blas3_types.h +0 -0
  426. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/block_striped.h +0 -0
  427. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/cluster_launch.hpp +0 -0
  428. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/complex.h +0 -0
  429. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/constants.h +0 -0
  430. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/collective/builders/sm90_common.inl +0 -0
  431. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/collective/builders/sm90_gmma_builder.inl +0 -0
  432. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/collective/collective_builder.hpp +0 -0
  433. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/collective/collective_conv.hpp +0 -0
  434. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/collective/detail.hpp +0 -0
  435. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/collective/sm90_implicit_gemm_gmma_ss_warpspecialized.hpp +0 -0
  436. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/conv2d_problem_size.h +0 -0
  437. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/conv3d_problem_size.h +0 -0
  438. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/convnd_problem_shape.hpp +0 -0
  439. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/convolution.h +0 -0
  440. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/detail.hpp +0 -0
  441. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/device/conv_universal_adapter.hpp +0 -0
  442. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/device/direct_convolution.h +0 -0
  443. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/device/implicit_gemm_convolution.h +0 -0
  444. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/device/implicit_gemm_convolution_fusion.h +0 -0
  445. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/dispatch_policy.hpp +0 -0
  446. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/conv_universal.hpp +0 -0
  447. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d.h +0 -0
  448. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_dgrad.h +0 -0
  449. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_fprop.h +0 -0
  450. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_fprop_fusion.h +0 -0
  451. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_fprop_with_absmax.h +0 -0
  452. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_fprop_with_broadcast.h +0 -0
  453. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_fprop_with_reduction.h +0 -0
  454. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_group_fprop.h +0 -0
  455. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_wgrad.h +0 -0
  456. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv2d_wgrad_fusion.h +0 -0
  457. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv3d_dgrad.h +0 -0
  458. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv3d_fprop.h +0 -0
  459. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv3d_fprop_fusion.h +0 -0
  460. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv3d_fprop_with_broadcast.h +0 -0
  461. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_conv3d_wgrad.h +0 -0
  462. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_deconv2d.h +0 -0
  463. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_deconv2d_with_broadcast.h +0 -0
  464. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_deconv3d.h +0 -0
  465. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_deconv3d_with_broadcast.h +0 -0
  466. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/default_depthwise_fprop.h +0 -0
  467. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/direct_convolution.h +0 -0
  468. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/implicit_gemm_convolution.h +0 -0
  469. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/implicit_gemm_convolution_fusion.h +0 -0
  470. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/implicit_gemm_convolution_strided_dgrad.h +0 -0
  471. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/implicit_gemm_convolution_with_absmax.h +0 -0
  472. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/implicit_gemm_convolution_with_fused_epilogue.h +0 -0
  473. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/kernel/sm90_implicit_gemm_tma_warpspecialized.hpp +0 -0
  474. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/thread/depthwise_mma.h +0 -0
  475. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_dgrad_filter_tile_access_iterator_analytic.h +0 -0
  476. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_dgrad_filter_tile_access_iterator_optimized.h +0 -0
  477. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_dgrad_output_gradient_tile_access_iterator_analytic.h +0 -0
  478. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_dgrad_output_gradient_tile_access_iterator_optimized.h +0 -0
  479. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_activation_tile_access_iterator_analytic.h +0 -0
  480. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_activation_tile_access_iterator_few_channels.h +0 -0
  481. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_activation_tile_access_iterator_fixed_channels.h +0 -0
  482. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_activation_tile_access_iterator_optimized.h +0 -0
  483. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_filter_tile_access_iterator_analytic.h +0 -0
  484. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_filter_tile_access_iterator_few_channels.h +0 -0
  485. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_filter_tile_access_iterator_fixed_channels.h +0 -0
  486. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_fprop_filter_tile_access_iterator_optimized.h +0 -0
  487. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_params.h +0 -0
  488. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_tile_iterator.h +0 -0
  489. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_wgrad_activation_tile_access_iterator_analytic.h +0 -0
  490. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_wgrad_activation_tile_access_iterator_optimized.h +0 -0
  491. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_wgrad_output_gradient_tile_access_iterator_analytic.h +0 -0
  492. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv2d_wgrad_output_gradient_tile_access_iterator_optimized.h +0 -0
  493. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_dgrad_filter_tile_access_iterator_analytic.h +0 -0
  494. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_dgrad_filter_tile_access_iterator_optimized.h +0 -0
  495. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_dgrad_output_gradient_tile_access_iterator_analytic.h +0 -0
  496. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_dgrad_output_gradient_tile_access_iterator_optimized.h +0 -0
  497. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_fprop_activation_tile_access_iterator_analytic.h +0 -0
  498. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_fprop_activation_tile_access_iterator_optimized.h +0 -0
  499. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_fprop_filter_tile_access_iterator_analytic.h +0 -0
  500. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_fprop_filter_tile_access_iterator_optimized.h +0 -0
  501. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_params.h +0 -0
  502. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_wgrad_activation_tile_access_iterator_analytic.h +0 -0
  503. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_wgrad_activation_tile_access_iterator_optimized.h +0 -0
  504. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_wgrad_output_gradient_tile_access_iterator_analytic.h +0 -0
  505. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/conv3d_wgrad_output_gradient_tile_access_iterator_optimized.h +0 -0
  506. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_direct_conv_params.h +0 -0
  507. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_fprop_activation_tile_access_iterator_direct_conv_fixed_stride_dilation.h +0 -0
  508. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_fprop_activation_tile_access_iterator_direct_conv_optimized.h +0 -0
  509. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_fprop_direct_conv_multistage.h +0 -0
  510. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_fprop_filter_tile_access_iterator_direct_conv_optimized.h +0 -0
  511. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_fprop_pipelined.h +0 -0
  512. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_mma_base.h +0 -0
  513. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/depthwise_mma_core_with_lane_access_size.h +0 -0
  514. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/implicit_gemm_fprop_fusion_multistage.h +0 -0
  515. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/implicit_gemm_multistage.h +0 -0
  516. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/implicit_gemm_pipelined.h +0 -0
  517. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/implicit_gemm_wgrad_fusion_multistage.h +0 -0
  518. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/predicated_scale_bias_vector_access_iterator.h +0 -0
  519. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/predicated_scale_bias_vector_iterator.h +0 -0
  520. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/threadblock/threadblock_swizzle.h +0 -0
  521. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/warp/mma_depthwise_simt.h +0 -0
  522. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/warp/mma_depthwise_simt_tile_iterator.h +0 -0
  523. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/conv/warp/scale_bias_relu_transform.h +0 -0
  524. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/coord.h +0 -0
  525. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/core_io.h +0 -0
  526. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/cuda_host_adapter.hpp +0 -0
  527. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/cutlass.h +0 -0
  528. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/detail/collective.hpp +0 -0
  529. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/detail/dependent_false.hpp +0 -0
  530. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/detail/helper_macros.hpp +0 -0
  531. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/detail/layout.hpp +0 -0
  532. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/detail/mma.hpp +0 -0
  533. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/device_kernel.h +0 -0
  534. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/collective/builders/sm90_builder.inl +0 -0
  535. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/collective/builders/sm90_common.inl +0 -0
  536. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/collective/collective_builder.hpp +0 -0
  537. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/collective/collective_epilogue.hpp +0 -0
  538. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/collective/default_epilogue.hpp +0 -0
  539. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/collective/default_epilogue_array.hpp +0 -0
  540. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/collective/detail.hpp +0 -0
  541. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/collective/epilogue_tensor_broadcast.hpp +0 -0
  542. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/collective/sm70_epilogue_vectorized.hpp +0 -0
  543. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/collective/sm70_epilogue_vectorized_array.hpp +0 -0
  544. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/collective/sm90_epilogue_array_tma_warpspecialized.hpp +0 -0
  545. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/collective/sm90_epilogue_tma_warpspecialized.hpp +0 -0
  546. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/collective/sm90_epilogue_tma_warpspecialized_bias_elementwise.hpp +0 -0
  547. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/dispatch_policy.hpp +0 -0
  548. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/fusion/callbacks.hpp +0 -0
  549. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/fusion/operations.hpp +0 -0
  550. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/fusion/sm90_callbacks_tma_warpspecialized.hpp +0 -0
  551. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/fusion/sm90_visitor_compute_tma_warpspecialized.hpp +0 -0
  552. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/fusion/sm90_visitor_load_tma_warpspecialized.hpp +0 -0
  553. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/fusion/sm90_visitor_store_tma_warpspecialized.hpp +0 -0
  554. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/fusion/sm90_visitor_tma_warpspecialized.hpp +0 -0
  555. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/fusion/sm90_visitor_topk_softmax.hpp +0 -0
  556. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/activation.h +0 -0
  557. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/conversion_op.h +0 -0
  558. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/detail.hpp +0 -0
  559. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination.h +0 -0
  560. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_bias_elementwise.h +0 -0
  561. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_bias_relu.h +0 -0
  562. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_clamp.h +0 -0
  563. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_dgelu.h +0 -0
  564. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_drelu.h +0 -0
  565. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_gelu.h +0 -0
  566. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_generic.h +0 -0
  567. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_generic_with_scaling.h +0 -0
  568. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_hardswish.h +0 -0
  569. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_leaky_relu.h +0 -0
  570. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_params.h +0 -0
  571. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_planar_complex.h +0 -0
  572. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_relu.h +0 -0
  573. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_relu0.h +0 -0
  574. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_residual_block.h +0 -0
  575. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_sigmoid.h +0 -0
  576. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_silu.h +0 -0
  577. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_tensor_broadcast.hpp +0 -0
  578. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/linear_combination_with_elementwise.h +0 -0
  579. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/reduction_op.h +0 -0
  580. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/thread/scale_type.h +0 -0
  581. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_complex_tensor_op.h +0 -0
  582. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_complex_tensor_op_blas3.h +0 -0
  583. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_direct_store.h +0 -0
  584. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_planar_complex.h +0 -0
  585. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_simt.h +0 -0
  586. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_tensor_op.h +0 -0
  587. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_tensor_op_blas3.h +0 -0
  588. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_volta_tensor_op.h +0 -0
  589. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_with_absmax.h +0 -0
  590. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_with_broadcast.h +0 -0
  591. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_with_reduction.h +0 -0
  592. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_epilogue_wmma_tensor_op.h +0 -0
  593. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_thread_map_simt.h +0 -0
  594. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_thread_map_tensor_op.h +0 -0
  595. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_thread_map_volta_tensor_op.h +0 -0
  596. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/default_thread_map_wmma_tensor_op.h +0 -0
  597. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/direct_store_epilogue_iterator.h +0 -0
  598. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue.h +0 -0
  599. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_base.h +0 -0
  600. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_base_streamk.h +0 -0
  601. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_depthwise.h +0 -0
  602. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_direct_store.h +0 -0
  603. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_gemm_k_reduction.h +0 -0
  604. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_planar_complex.h +0 -0
  605. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_smem_accumulator.h +0 -0
  606. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_streamk_with_broadcast.h +0 -0
  607. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_visitor_with_softmax.h +0 -0
  608. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_with_absmax.h +0 -0
  609. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_with_broadcast.h +0 -0
  610. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_with_reduction.h +0 -0
  611. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_with_visitor.h +0 -0
  612. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_with_visitor_callbacks.h +0 -0
  613. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/epilogue_workspace.h +0 -0
  614. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/fusion/visitor_2x.hpp +0 -0
  615. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/fusion/visitor_compute.hpp +0 -0
  616. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/fusion/visitor_load.hpp +0 -0
  617. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/fusion/visitor_store.hpp +0 -0
  618. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/fusion/visitors.hpp +0 -0
  619. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/interleaved_epilogue.h +0 -0
  620. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/output_iterator_parameter.h +0 -0
  621. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/output_tile_thread_map.h +0 -0
  622. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator.h +0 -0
  623. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_affine.h +0 -0
  624. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_affine_layout_params.h +0 -0
  625. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_blas3.h +0 -0
  626. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_conv.h +0 -0
  627. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_direct_conv.h +0 -0
  628. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_params.h +0 -0
  629. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_predicates.h +0 -0
  630. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/predicated_tile_iterator_strided_dgrad.h +0 -0
  631. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/shared_load_iterator.h +0 -0
  632. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/shared_load_iterator_mixed.h +0 -0
  633. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/threadblock/shared_load_iterator_pitch_linear.h +0 -0
  634. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/fragment_iterator_complex_tensor_op.h +0 -0
  635. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/fragment_iterator_gaussian_complex_tensor_op.h +0 -0
  636. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/fragment_iterator_simt.h +0 -0
  637. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/fragment_iterator_tensor_op.h +0 -0
  638. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/fragment_iterator_volta_tensor_op.h +0 -0
  639. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/fragment_iterator_wmma_tensor_op.h +0 -0
  640. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/simt_policy.h +0 -0
  641. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/tensor_op_policy.h +0 -0
  642. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/tile_iterator_simt.h +0 -0
  643. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/tile_iterator_tensor_op.h +0 -0
  644. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/tile_iterator_tensor_op_mixed.h +0 -0
  645. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/tile_iterator_volta_tensor_op.h +0 -0
  646. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/tile_iterator_wmma_tensor_op.h +0 -0
  647. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/volta_tensor_op_policy.h +0 -0
  648. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/epilogue/warp/wmma_tensor_op_policy.h +0 -0
  649. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/fast_math.h +0 -0
  650. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/float8.h +0 -0
  651. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/floating_point_nvrtc.h +0 -0
  652. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/functional.h +0 -0
  653. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/builders/sm90_common.inl +0 -0
  654. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/builders/sm90_gmma_builder.inl +0 -0
  655. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/builders/sm90_sparse_config.inl +0 -0
  656. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/builders/sm90_sparse_gmma_builder.inl +0 -0
  657. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/collective_builder.hpp +0 -0
  658. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/collective_builder_decl.hpp +0 -0
  659. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/collective_mma.hpp +0 -0
  660. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/collective_mma_decl.hpp +0 -0
  661. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/fp8_accumulation.hpp +0 -0
  662. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/sm70_mma_twostage.hpp +0 -0
  663. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/sm80_mma_multistage.hpp +0 -0
  664. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_array_tma_gmma_ss_warpspecialized.hpp +0 -0
  665. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_multistage_gmma_rs_warpspecialized.hpp +0 -0
  666. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_multistage_gmma_ss_warpspecialized.hpp +0 -0
  667. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_tma_gmma_rs_warpspecialized.hpp +0 -0
  668. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_tma_gmma_rs_warpspecialized_mixed_input.hpp +0 -0
  669. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_tma_gmma_ss.hpp +0 -0
  670. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_tma_gmma_ss_warpspecialized.hpp +0 -0
  671. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_mma_tma_gmma_ss_warpspecialized_fp8.hpp +0 -0
  672. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/collective/sm90_sparse_mma_tma_gmma_ss_warpspecialized.hpp +0 -0
  673. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/base_grouped.h +0 -0
  674. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/default_gemm_configuration.h +0 -0
  675. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/ell_gemm.h +0 -0
  676. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm.h +0 -0
  677. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_array.h +0 -0
  678. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_batched.h +0 -0
  679. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_complex.h +0 -0
  680. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_grouped.h +0 -0
  681. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_layernorm_mainloop_fusion.h +0 -0
  682. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_sparse.h +0 -0
  683. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_sparse_universal.h +0 -0
  684. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_sparse_universal_with_absmax.h +0 -0
  685. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_sparse_with_absmax.h +0 -0
  686. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_sparse_with_visitor.h +0 -0
  687. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_splitk_parallel.h +0 -0
  688. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_universal.h +0 -0
  689. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_universal_adapter.h +0 -0
  690. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_universal_base.h +0 -0
  691. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_universal_streamk_with_broadcast.h +0 -0
  692. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_universal_with_absmax.h +0 -0
  693. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_universal_with_broadcast.h +0 -0
  694. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemm_with_k_reduction.h +0 -0
  695. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/gemv.h +0 -0
  696. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/rank_2k.h +0 -0
  697. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/rank_2k_grouped.h +0 -0
  698. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/rank_k.h +0 -0
  699. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/symm.h +0 -0
  700. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/device/trmm.h +0 -0
  701. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/dispatch_policy.hpp +0 -0
  702. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/gemm.h +0 -0
  703. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/gemm_enumerated_types.h +0 -0
  704. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/group_array_problem_shape.hpp +0 -0
  705. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_ell_gemm.h +0 -0
  706. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm.h +0 -0
  707. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_complex.h +0 -0
  708. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_grouped.h +0 -0
  709. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_grouped_softmax_mainloop_fusion.h +0 -0
  710. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_layernorm_mainloop_fusion.h +0 -0
  711. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_planar_complex_universal.h +0 -0
  712. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_sparse.h +0 -0
  713. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_sparse_universal.h +0 -0
  714. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_sparse_universal_with_absmax.h +0 -0
  715. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_sparse_with_absmax.h +0 -0
  716. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_sparse_with_visitor.h +0 -0
  717. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_splitk_parallel.h +0 -0
  718. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_streamk_with_broadcast.h +0 -0
  719. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_universal.h +0 -0
  720. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_universal_with_visitor.h +0 -0
  721. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_with_absmax.h +0 -0
  722. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_with_broadcast.h +0 -0
  723. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_with_k_reduction.h +0 -0
  724. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemm_with_reduction.h +0 -0
  725. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_gemv.h +0 -0
  726. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_rank_2k.h +0 -0
  727. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_rank_2k_complex.h +0 -0
  728. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_rank_2k_grouped.h +0 -0
  729. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_rank_2k_universal.h +0 -0
  730. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_rank_k.h +0 -0
  731. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_rank_k_complex.h +0 -0
  732. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_rank_k_universal.h +0 -0
  733. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_symm.h +0 -0
  734. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_symm_complex.h +0 -0
  735. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_symm_universal.h +0 -0
  736. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_trmm.h +0 -0
  737. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_trmm_complex.h +0 -0
  738. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/default_trmm_universal.h +0 -0
  739. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/ell_gemm.h +0 -0
  740. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm.h +0 -0
  741. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_array.h +0 -0
  742. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_batched.h +0 -0
  743. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_grouped.h +0 -0
  744. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_grouped_problem_visitor.h +0 -0
  745. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_grouped_softmax_mainloop_fusion.h +0 -0
  746. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_layernorm_mainloop_fusion.h +0 -0
  747. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_params.h +0 -0
  748. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_pipelined.h +0 -0
  749. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_planar_complex.h +0 -0
  750. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_planar_complex_array.h +0 -0
  751. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_sparse_universal.h +0 -0
  752. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_sparse_universal_with_absmax.h +0 -0
  753. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_splitk_parallel.h +0 -0
  754. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_streamk_with_fused_epilogue.h +0 -0
  755. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_transpose_operands.h +0 -0
  756. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_universal.h +0 -0
  757. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_universal.hpp +0 -0
  758. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_universal_decl.h +0 -0
  759. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_universal_streamk.h +0 -0
  760. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_universal_with_visitor.h +0 -0
  761. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_universal_with_visitor_streamk.h +0 -0
  762. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_with_absmax.h +0 -0
  763. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_with_fused_epilogue.h +0 -0
  764. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemm_with_k_reduction.h +0 -0
  765. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemv.h +0 -0
  766. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/gemv_batched_strided.h +0 -0
  767. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/grouped_problem_visitor.h +0 -0
  768. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/params_sparse_base.h +0 -0
  769. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/params_universal_base.h +0 -0
  770. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/rank_2k_grouped.h +0 -0
  771. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/rank_2k_grouped_problem_visitor.h +0 -0
  772. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/rank_2k_transpose_operands.h +0 -0
  773. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/rank_2k_universal.h +0 -0
  774. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/rank_k_universal.h +0 -0
  775. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm70_gemm.hpp +0 -0
  776. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_array_tma_warpspecialized_cooperative.hpp +0 -0
  777. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_array_tma_warpspecialized_pingpong.hpp +0 -0
  778. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_tma.hpp +0 -0
  779. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_tma_warpspecialized.hpp +0 -0
  780. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_tma_warpspecialized_cooperative.hpp +0 -0
  781. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_tma_warpspecialized_pingpong.hpp +0 -0
  782. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_warpspecialized.hpp +0 -0
  783. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_warpspecialized_cooperative.hpp +0 -0
  784. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_gemm_warpspecialized_pingpong.hpp +0 -0
  785. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_tile_scheduler.hpp +0 -0
  786. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_tile_scheduler_group.hpp +0 -0
  787. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sm90_tile_scheduler_stream_k.hpp +0 -0
  788. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sparse_gemm.h +0 -0
  789. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sparse_gemm_with_absmax.h +0 -0
  790. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/sparse_gemm_with_visitor.h +0 -0
  791. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/static_tile_scheduler.hpp +0 -0
  792. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/symm_universal.h +0 -0
  793. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/tile_scheduler.hpp +0 -0
  794. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/tile_scheduler_params.h +0 -0
  795. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/kernel/trmm_universal.h +0 -0
  796. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/thread/mma.h +0 -0
  797. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/thread/mma_sm50.h +0 -0
  798. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/thread/mma_sm60.h +0 -0
  799. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/thread/mma_sm61.h +0 -0
  800. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_ell_mma.h +0 -0
  801. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_gemv_core.h +0 -0
  802. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma.h +0 -0
  803. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core.h +0 -0
  804. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_simt.h +0 -0
  805. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_sm70.h +0 -0
  806. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_sm75.h +0 -0
  807. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_sm80.h +0 -0
  808. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_sparse_sm80.h +0 -0
  809. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_with_access_size.h +0 -0
  810. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_with_reduction.h +0 -0
  811. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_core_wmma.h +0 -0
  812. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_layernorm_mainloop_fusion.h +0 -0
  813. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_planar_complex_multistage.h +0 -0
  814. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_planar_complex_pipelined.h +0 -0
  815. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_softmax_mainloop_fusion.h +0 -0
  816. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_mma_with_reduction.h +0 -0
  817. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_multistage_mma_complex.h +0 -0
  818. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_multistage_mma_complex_core.h +0 -0
  819. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_multistage_mma_complex_core_sm80.h +0 -0
  820. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_multistage_trmm_complex.h +0 -0
  821. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_sparse_mma.h +0 -0
  822. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/default_trmm.h +0 -0
  823. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/ell_mma_multistage.h +0 -0
  824. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/ell_mma_pipelined.h +0 -0
  825. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/gemv.h +0 -0
  826. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/index_remat.h +0 -0
  827. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_base.h +0 -0
  828. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_blas3_multistage.h +0 -0
  829. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_layernorm_mainloop_fusion_multistage.h +0 -0
  830. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_multistage.h +0 -0
  831. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_pipelined.h +0 -0
  832. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_planar_complex_base.h +0 -0
  833. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_planar_complex_multistage.h +0 -0
  834. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_planar_complex_pipelined.h +0 -0
  835. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_singlestage.h +0 -0
  836. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_softmax_mainloop_fusion_multistage.h +0 -0
  837. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_sparse_base.h +0 -0
  838. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_sparse_multistage.h +0 -0
  839. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/mma_with_reduction_multistage.h +0 -0
  840. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/threadblock_swizzle.h +0 -0
  841. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/threadblock/threadblock_swizzle_streamk.h +0 -0
  842. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/default_mma_complex_tensor_op.h +0 -0
  843. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/default_mma_sparse_tensor_op.h +0 -0
  844. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/default_mma_tensor_op.h +0 -0
  845. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/default_mma_tensor_op_sm80.h +0 -0
  846. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/default_mma_with_reduction_tensor_op.h +0 -0
  847. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/default_mma_wmma_tensor_op.h +0 -0
  848. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/layernorm_scale_bias_transform.h +0 -0
  849. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma.h +0 -0
  850. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_complex_tensor_op.h +0 -0
  851. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_complex_tensor_op_fast_f32.h +0 -0
  852. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_complex_tensor_op_tile_iterator_sm80.h +0 -0
  853. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_gaussian_complex_tensor_op.h +0 -0
  854. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_gaussian_complex_tensor_op_tile_iterator_sm80.h +0 -0
  855. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_mixed_input_tensor_op.h +0 -0
  856. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_planar_complex.h +0 -0
  857. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_simt.h +0 -0
  858. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_simt_policy.h +0 -0
  859. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_simt_tile_iterator.h +0 -0
  860. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_sparse_tensor_op.h +0 -0
  861. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op.h +0 -0
  862. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_fast_f32.h +0 -0
  863. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_fragment_iterator.h +0 -0
  864. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_policy.h +0 -0
  865. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_sm70.h +0 -0
  866. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_tile_access_iterator.h +0 -0
  867. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_tile_iterator.h +0 -0
  868. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_tile_iterator_sm70.h +0 -0
  869. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_tile_iterator_sm80.h +0 -0
  870. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_tile_iterator_sparse.h +0 -0
  871. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_tile_iterator_wmma.h +0 -0
  872. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_tensor_op_wmma.h +0 -0
  873. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/mma_with_reduction_tensor_op.h +0 -0
  874. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/scale_bias_tile_iterator.h +0 -0
  875. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/softmax_scale_bias_transform.h +0 -0
  876. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm/warp/tile_iterator_planar_complex.h +0 -0
  877. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm_coord.h +0 -0
  878. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/gemm_coord.hpp +0 -0
  879. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/half.h +0 -0
  880. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/integer_subbyte.h +0 -0
  881. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/kernel_hardware_info.h +0 -0
  882. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/kernel_hardware_info.hpp +0 -0
  883. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/kernel_launch.h +0 -0
  884. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/layout/layout.h +0 -0
  885. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/layout/matrix.h +0 -0
  886. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/layout/permute.h +0 -0
  887. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/layout/pitch_linear.h +0 -0
  888. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/layout/tensor.h +0 -0
  889. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/layout/tensor_op_multiplicand_sm70.h +0 -0
  890. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/layout/tensor_op_multiplicand_sm75.h +0 -0
  891. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/layout/tensor_op_multiplicand_sm80.h +0 -0
  892. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/layout/vector.h +0 -0
  893. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/matrix.h +0 -0
  894. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/matrix_coord.h +0 -0
  895. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/matrix_shape.h +0 -0
  896. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/numeric_conversion.h +0 -0
  897. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/numeric_size.h +0 -0
  898. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/numeric_types.h +0 -0
  899. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/pipeline/pipeline.hpp +0 -0
  900. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/pipeline/sm90_pipeline.hpp +0 -0
  901. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/pitch_linear_coord.h +0 -0
  902. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/platform/platform.h +0 -0
  903. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/predicate_vector.h +0 -0
  904. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/quaternion.h +0 -0
  905. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/real.h +0 -0
  906. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/reduction/device/reduce_split_k.h +0 -0
  907. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/reduction/device/tensor_reduce.h +0 -0
  908. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/reduction/device/tensor_reduce_affine_contiguous.h +0 -0
  909. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/reduction/device/tensor_reduce_affine_strided.h +0 -0
  910. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/reduction/kernel/reduce_softmax_final.h +0 -0
  911. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/reduction/kernel/reduce_split_k.h +0 -0
  912. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/reduction/kernel/tensor_reduce_affine_contiguous.h +0 -0
  913. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/reduction/kernel/tensor_reduce_affine_strided.h +0 -0
  914. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/reduction/thread/reduce.h +0 -0
  915. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/reduction/thread/reduction_operators.h +0 -0
  916. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/reduction/threadblock_swizzle.h +0 -0
  917. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/relatively_equal.h +0 -0
  918. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/semaphore.h +0 -0
  919. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/subbyte_reference.h +0 -0
  920. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/tensor_coord.h +0 -0
  921. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/tensor_ref.h +0 -0
  922. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/tensor_ref_planar_complex.h +0 -0
  923. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/tensor_view.h +0 -0
  924. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/tensor_view_planar_complex.h +0 -0
  925. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/tfloat32.h +0 -0
  926. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/thread/matrix.h +0 -0
  927. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/trace.h +0 -0
  928. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/collective/sm90_wgmma_transpose.hpp +0 -0
  929. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/device/transform_universal_adapter.hpp +0 -0
  930. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/kernel/filter_format_transformer.hpp +0 -0
  931. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/kernel/sm90_sparse_gemm_compressor.hpp +0 -0
  932. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/kernel/sparse_gemm_compressor.hpp +0 -0
  933. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/pitch_linear_thread_map.h +0 -0
  934. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/thread/transpose.h +0 -0
  935. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/thread/unary_op.h +0 -0
  936. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/ell_iterator.h +0 -0
  937. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/ell_predicated_tile_access_iterator.h +0 -0
  938. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/ell_predicated_tile_iterator.h +0 -0
  939. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_scale_bias_vector_access_iterator.h +0 -0
  940. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_scale_bias_vector_iterator.h +0 -0
  941. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_tile_access_iterator.h +0 -0
  942. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_tile_access_iterator_2dthreadtile.h +0 -0
  943. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_tile_access_iterator_params.h +0 -0
  944. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_tile_access_iterator_triangular_matrix.h +0 -0
  945. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_tile_iterator.h +0 -0
  946. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_tile_iterator_2dthreadtile.h +0 -0
  947. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_tile_iterator_triangular_matrix.h +0 -0
  948. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/predicated_vector_access_iterator.h +0 -0
  949. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_scale_bias_vector_access_iterator.h +0 -0
  950. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_access_iterator.h +0 -0
  951. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_access_iterator_pitch_linear.h +0 -0
  952. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_access_iterator_pitch_linear_direct_conv.h +0 -0
  953. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_access_iterator_tensor_op.h +0 -0
  954. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_access_iterator_tensor_op_sm80.h +0 -0
  955. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_iterator.h +0 -0
  956. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_iterator_pitch_linear.h +0 -0
  957. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_iterator_pitch_linear_2dthreadtile.h +0 -0
  958. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_iterator_tensor_op.h +0 -0
  959. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/regular_tile_iterator_tensor_op_sm70.h +0 -0
  960. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/threadblock/vector_iterator.h +0 -0
  961. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/transform/warp/vector_fragment_iterator.h +0 -0
  962. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/uint128.h +0 -0
  963. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/version.h +0 -0
  964. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/wmma_array.h +0 -0
  965. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/include/cutlass/workspace.h +0 -0
  966. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/GPU_Clock.hpp +0 -0
  967. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/command_line.h +0 -0
  968. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/cublas_wrappers.hpp +0 -0
  969. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/debug.h +0 -0
  970. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/device_dump.h +0 -0
  971. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/device_groupnorm.h +0 -0
  972. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/device_layernorm.h +0 -0
  973. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/device_memory.h +0 -0
  974. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/device_nchw_to_nhwc.h +0 -0
  975. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/device_nhwc_padding.h +0 -0
  976. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/device_nhwc_pooling.h +0 -0
  977. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/device_nhwc_to_nchw.h +0 -0
  978. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/device_rmsnorm.h +0 -0
  979. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/device_utils.h +0 -0
  980. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/distribution.h +0 -0
  981. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/exceptions.h +0 -0
  982. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/gett_commandline.hpp +0 -0
  983. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/helper_cuda.hpp +0 -0
  984. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/host_reorder.h +0 -0
  985. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/host_tensor.h +0 -0
  986. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/host_tensor_planar_complex.h +0 -0
  987. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/host_uncompress.h +0 -0
  988. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/index_sequence.h +0 -0
  989. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/packed_stride.hpp +0 -0
  990. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/print_error.hpp +0 -0
  991. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/detail/inner_product.h +0 -0
  992. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/detail/linear_to_coordinate.h +0 -0
  993. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/convolution.h +0 -0
  994. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/gemm.h +0 -0
  995. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/gemm_complex.h +0 -0
  996. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/gemm_planar_complex.h +0 -0
  997. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/gett.hpp +0 -0
  998. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/kernel/gemm.h +0 -0
  999. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/kernel/tensor_elementwise.h +0 -0
  1000. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/kernel/tensor_foreach.h +0 -0
  1001. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/rank_2k_complex.h +0 -0
  1002. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/tensor_compare.h +0 -0
  1003. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/tensor_fill.h +0 -0
  1004. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/tensor_foreach.h +0 -0
  1005. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/tensor_reduce.h +0 -0
  1006. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/tensor_relu.h +0 -0
  1007. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/device/thread/gemm.h +0 -0
  1008. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/conv.hpp +0 -0
  1009. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/convolution.h +0 -0
  1010. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/error_metrics.h +0 -0
  1011. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/gemm.h +0 -0
  1012. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/gemm_complex.h +0 -0
  1013. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/gemm_planar_complex.h +0 -0
  1014. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/gett.hpp +0 -0
  1015. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/rank_2k.h +0 -0
  1016. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/rank_2k_complex.h +0 -0
  1017. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/rank_k_complex.h +0 -0
  1018. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/symm.h +0 -0
  1019. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/symm_complex.h +0 -0
  1020. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_compare.h +0 -0
  1021. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_compare.hpp +0 -0
  1022. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_copy.h +0 -0
  1023. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_elementwise.h +0 -0
  1024. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_fill.h +0 -0
  1025. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_fill.hpp +0 -0
  1026. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_foreach.h +0 -0
  1027. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_norm.h +0 -0
  1028. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_reduce.h +0 -0
  1029. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/tensor_reduce.hpp +0 -0
  1030. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/trmm.h +0 -0
  1031. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/reference/host/trmm_complex.h +0 -0
  1032. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/tensor_view_io.h +0 -0
  1033. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/3rdparty/cutlass/tools/util/include/cutlass/util/type_traits.h +0 -0
  1034. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/LICENSE +0 -0
  1035. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/README.md +0 -0
  1036. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/aot_default_additional_params.h +0 -0
  1037. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/aot_extension_utils.h +0 -0
  1038. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_decode.cu +0 -0
  1039. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_decode_config.inc +0 -0
  1040. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_decode_customize_config.jinja +0 -0
  1041. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_decode_jit_pybind.cu +0 -0
  1042. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_decode_kernel_inst.jinja +0 -0
  1043. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_decode_mla_config.jinja +0 -0
  1044. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_decode_mla_cute_sm80.cu +0 -0
  1045. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_decode_mla_plan.cu +0 -0
  1046. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_decode_mla_pybind.cu +0 -0
  1047. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_decode_mla_run.cu +0 -0
  1048. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_mla_plan.cu +0 -0
  1049. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_mla_pybind.cu +0 -0
  1050. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_mla_sm90_plan.cu +0 -0
  1051. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_prefill.cu +0 -0
  1052. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_prefill_config.inc +0 -0
  1053. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_prefill_customize_config.jinja +0 -0
  1054. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_prefill_jit_pybind.cu +0 -0
  1055. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_prefill_paged_kernel_inst.jinja +0 -0
  1056. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_prefill_paged_sm90_kernel_inst.jinja +0 -0
  1057. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_prefill_ragged_kernel_inst.jinja +0 -0
  1058. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_prefill_ragged_sm90_kernel_inst.jinja +0 -0
  1059. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_prefill_sm90.cu +0 -0
  1060. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_prefill_sm90_config.inc +0 -0
  1061. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_prefill_sm90_customize_config.jinja +0 -0
  1062. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/batch_prefill_sm90_jit_pybind.cu +0 -0
  1063. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/bmm_fp8.cu +0 -0
  1064. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/cascade.cu +0 -0
  1065. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/flashinfer_cascade_ops.cu +0 -0
  1066. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/flashinfer_gemm_ops.cu +0 -0
  1067. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/flashinfer_gemm_sm90_ops.cu +0 -0
  1068. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/flashinfer_ops_sm90.cu +0 -0
  1069. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/flashinfer_page_ops.cu +0 -0
  1070. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/flashinfer_quantization_ops.cu +0 -0
  1071. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/flashinfer_rope_ops.cu +0 -0
  1072. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/group_gemm.cu +0 -0
  1073. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/group_gemm_sm90.cu +0 -0
  1074. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/page.cu +0 -0
  1075. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/pytorch_conversion_utils.h +0 -0
  1076. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/pytorch_extension_utils.h +0 -0
  1077. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/quantization.cu +0 -0
  1078. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/renorm.cu +0 -0
  1079. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/rope.cu +0 -0
  1080. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/runtime_utils.h +0 -0
  1081. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_decode.cu +0 -0
  1082. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_decode_config.inc +0 -0
  1083. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_decode_customize_config.jinja +0 -0
  1084. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_decode_jit_pybind.cu +0 -0
  1085. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_decode_kernel_inst.jinja +0 -0
  1086. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_prefill.cu +0 -0
  1087. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_prefill_config.inc +0 -0
  1088. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_prefill_customize_config.jinja +0 -0
  1089. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_prefill_jit_pybind.cu +0 -0
  1090. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_prefill_kernel_inst.jinja +0 -0
  1091. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_prefill_sm90.cu +0 -0
  1092. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_prefill_sm90_config.inc +0 -0
  1093. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_prefill_sm90_customize_config.jinja +0 -0
  1094. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_prefill_sm90_jit_pybind.cu +0 -0
  1095. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/csrc/single_prefill_sm90_kernel_inst.jinja +0 -0
  1096. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/custom_backend.py +0 -0
  1097. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/__init__.py +0 -0
  1098. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/cascade.py +0 -0
  1099. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/decode.py +0 -0
  1100. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/jit/aot_config.py +0 -0
  1101. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/jit/attention/__init__.py +0 -0
  1102. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/jit/attention/tvm.py +0 -0
  1103. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/jit/attention/utils.py +0 -0
  1104. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/jit/core.py +0 -0
  1105. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/jit/env.py +0 -0
  1106. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/jit/utils.py +0 -0
  1107. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/prefill.py +0 -0
  1108. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/py.typed +0 -0
  1109. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/quantization.py +0 -0
  1110. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/rope.py +0 -0
  1111. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/triton/__init__.py +0 -0
  1112. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/triton/activation.py +0 -0
  1113. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/triton/cascade.py +0 -0
  1114. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/triton/kernels/__init__.py +0 -0
  1115. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/triton/kernels/activation.py +0 -0
  1116. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/triton/kernels/cascade.py +0 -0
  1117. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/triton/kernels/quant.py +0 -0
  1118. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/triton/utils.py +0 -0
  1119. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer/utils.py +0 -0
  1120. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer_python.egg-info/dependency_links.txt +0 -0
  1121. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer_python.egg-info/requires.txt +0 -0
  1122. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/flashinfer_python.egg-info/top_level.txt +0 -0
  1123. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/allocator.h +0 -0
  1124. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/cascade.cuh +0 -0
  1125. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/decode.cuh +0 -0
  1126. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/decode_mla_cute_sm80.cuh +0 -0
  1127. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/default_decode_params.cuh +0 -0
  1128. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/default_prefill_params.cuh +0 -0
  1129. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/heap.h +0 -0
  1130. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/hopper/block_sparse_gather.cuh +0 -0
  1131. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/hopper/epilogue.cuh +0 -0
  1132. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/hopper/kernel_traits.cuh +0 -0
  1133. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/hopper/mainloop.cuh +0 -0
  1134. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/hopper/mainloop_mma.cuh +0 -0
  1135. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/hopper/prefill_sm90.cuh +0 -0
  1136. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/hopper/sparse_mainloop.cuh +0 -0
  1137. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/hopper/tile_scheduler.cuh +0 -0
  1138. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/hopper/variant_helper.cuh +0 -0
  1139. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/hopper.cuh +0 -0
  1140. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/mask.cuh +0 -0
  1141. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/prefill.cuh +0 -0
  1142. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/state.cuh +0 -0
  1143. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/variant_helper.cuh +0 -0
  1144. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention/variants.cuh +0 -0
  1145. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/attention_impl.cuh +0 -0
  1146. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/cp_async.cuh +0 -0
  1147. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/cutlass_utils.cuh +0 -0
  1148. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/distributed/all_reduce.cuh +0 -0
  1149. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/exception.h +0 -0
  1150. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/fastdiv.cuh +0 -0
  1151. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/frag_layout_swizzle.cuh +0 -0
  1152. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/gemm/bmm_fp8.cuh +0 -0
  1153. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/gemm/group_gemm.cuh +0 -0
  1154. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/gemm/group_gemm_lora.cuh +0 -0
  1155. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/gemm/group_gemm_sm90.cuh +0 -0
  1156. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/gemm/group_gemv.cuh +0 -0
  1157. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/layout.cuh +0 -0
  1158. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/math.cuh +0 -0
  1159. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/mma.cuh +0 -0
  1160. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/page.cuh +0 -0
  1161. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/permuted_smem.cuh +0 -0
  1162. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/pos_enc.cuh +0 -0
  1163. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/quantization.cuh +0 -0
  1164. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/utils.cuh +0 -0
  1165. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/include/flashinfer/vec_dtypes.cuh +0 -0
  1166. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/setup.cfg +0 -0
  1167. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/setup.py +0 -0
  1168. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_alibi.py +0 -0
  1169. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_batch_decode_kernels.py +0 -0
  1170. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_batch_prefill_kernels.py +0 -0
  1171. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_block_sparse.py +0 -0
  1172. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_block_sparse_indices_to_vector_sparse_offsets.py +0 -0
  1173. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_bmm_fp8.py +0 -0
  1174. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_decode_fp8_calibration_scale.py +0 -0
  1175. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_decode_prefill_lse.py +0 -0
  1176. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_fp8_prefill.py +0 -0
  1177. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_group_gemm.py +0 -0
  1178. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_hopper.py +0 -0
  1179. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_jit_example.py +0 -0
  1180. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_jit_warmup.py +0 -0
  1181. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_logits_cap.py +0 -0
  1182. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_mla_decode_kernel.py +0 -0
  1183. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_non_contiguous_decode.py +0 -0
  1184. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_non_contiguous_prefill.py +0 -0
  1185. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_page.py +0 -0
  1186. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_quantization.py +0 -0
  1187. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_rope.py +0 -0
  1188. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_shared_prefix_kernels.py +0 -0
  1189. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_sliding_window.py +0 -0
  1190. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_tensor_cores_decode.py +0 -0
  1191. {flashinfer_python-0.2.2 → flashinfer_python-0.2.3}/tests/test_triton_cascade.py +0 -0
@@ -0,0 +1,198 @@
1
+ Metadata-Version: 2.2
2
+ Name: flashinfer-python
3
+ Version: 0.2.3
4
+ Summary: FlashInfer: Kernel Library for LLM Serving
5
+ Author: FlashInfer team
6
+ License: Apache License 2.0
7
+ Project-URL: Homepage, https://github.com/flashinfer-ai/flashinfer
8
+ Requires-Python: <4.0,>=3.8
9
+ Description-Content-Type: text/markdown
10
+ License-File: LICENSE
11
+ Requires-Dist: numpy
12
+ Requires-Dist: torch
13
+ Requires-Dist: ninja
14
+ Dynamic: requires-dist
15
+
16
+ <p align="center">
17
+ <picture>
18
+ <source media="(prefers-color-scheme: dark)" srcset="https://github.com/flashinfer-ai/web-data/blob/main/logo/FlashInfer-black-background.png?raw=true">
19
+ <img alt="FlashInfer" src="https://github.com/flashinfer-ai/web-data/blob/main/logo/FlashInfer-white-background.png?raw=true" width=55%>
20
+ </picture>
21
+ </p>
22
+ <h1 align="center">
23
+ Kernel Library for LLM Serving
24
+ </h1>
25
+
26
+ <p align="center">
27
+ | <a href="https://flashinfer.ai"><b>Blog</b></a> | <a href="https://docs.flashinfer.ai"><b>Documentation</b></a> | <a href="https://join.slack.com/t/flashinfer/shared_invite/zt-2r93kj2aq-wZnC2n_Z2~mf73N5qnVGGA"><b>Slack</b></a>| <a href="https://github.com/orgs/flashinfer-ai/discussions"><b>Discussion Forum</b></a> |
28
+ </p>
29
+
30
+ [![Release](https://github.com/flashinfer-ai/flashinfer/actions/workflows/release_wheel.yml/badge.svg)](https://github.com/flashinfer-ai/flashinfer/actions/workflows/release_wheel.yml)
31
+ [![Documentation](https://github.com/flashinfer-ai/flashinfer/actions/workflows/build-doc.yml/badge.svg)](https://github.com/flashinfer-ai/flashinfer/actions/workflows/build-doc.yml)
32
+
33
+
34
+ FlashInfer is a library and kernel generator for Large Language Models that provides high-performance implementation of LLM GPU kernels such as FlashAttention, SparseAttention, PageAttention, Sampling, and more. FlashInfer focuses on LLM serving and inference, and delivers state-of-the-art performance across diverse scenarios.
35
+
36
+ Check our [v0.2 release blog](https://flashinfer.ai/2024/12/16/flashinfer-v02-release.html) for new features!
37
+
38
+ The core features of FlashInfer include:
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
+ 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 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
+ 4. **Customizable Attention**: Bring your own attention variants through JIT-compilation.
43
+ 5. **CUDAGraph and torch.compile Compatibility**: FlashInfer kernels can be captured by CUDAGraphs and torch.compile for low-latency inference.
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
+
46
+ FlashInfer supports PyTorch, TVM and C++ (header-only) APIs, and can be easily integrated into existing projects.
47
+
48
+ ## News
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
50
+ - [Sept 2024] We've launched a [Slack](https://join.slack.com/t/flashinfer/shared_invite/zt-2r93kj2aq-wZnC2n_Z2~mf73N5qnVGGA) workspace for Flashinfer users and developers. Join us for timely support, discussions, updates and knowledge sharing!
51
+ - [Jan 31, 2024] [Blog Post](https://flashinfer.ai/2024/01/08/cascade-inference.html) Cascade Inference: Memory-Efficient Shared Prefix Batch Decoding
52
+ - [Jan 31, 2024] [Blog Post](https://flashinfer.ai/2024/01/03/introduce-flashinfer.html) Accelerating Self-Attentions for LLM Serving with FlashInfer
53
+
54
+ ## Getting Started
55
+
56
+ Using our PyTorch API is the easiest way to get started:
57
+
58
+ ### Install from PIP
59
+
60
+ We provide prebuilt python wheels for Linux. Install FlashInfer with the following command:
61
+
62
+ ```bash
63
+ # For CUDA 12.4 & torch 2.5
64
+ pip install flashinfer-python -i https://flashinfer.ai/whl/cu124/torch2.5
65
+ # For other CUDA & torch versions, check https://docs.flashinfer.ai/installation.html
66
+ ```
67
+
68
+ To try the latest features from the main branch, use our nightly-built wheels:
69
+
70
+ ```bash
71
+ pip install flashinfer-python -i https://flashinfer.ai/whl/nightly/cu124/torch2.4
72
+ ```
73
+
74
+ For a JIT version (compiling every kernel from scratch, [NVCC](https://developer.nvidia.com/cuda-downloads) is required), install from [PyPI](https://pypi.org/project/flashinfer-python/):
75
+
76
+ ```bash
77
+ pip install flashinfer-python
78
+ ```
79
+
80
+ ### Install from Source
81
+
82
+ Alternatively, build FlashInfer from source:
83
+
84
+ ```bash
85
+ git clone https://github.com/flashinfer-ai/flashinfer.git --recursive
86
+ cd flashinfer
87
+ pip install -e . -v
88
+ ```
89
+
90
+ To pre-compile essential kernels, set the environment variable `FLASHINFER_ENABLE_AOT=1` before running the installation command:
91
+
92
+ ```bash
93
+ FLASHINFER_ENABLE_AOT=1 pip install -e . -v
94
+ ```
95
+
96
+ For more details, refer to the [Install from Source documentation](https://docs.flashinfer.ai/installation.html#install-from-source).
97
+
98
+ ### Trying it out
99
+
100
+ Below is a minimal example of using FlashInfer's single-request decode/append/prefill attention kernels:
101
+
102
+ ```python
103
+ import torch
104
+ import flashinfer
105
+
106
+ kv_len = 2048
107
+ num_kv_heads = 32
108
+ head_dim = 128
109
+
110
+ k = torch.randn(kv_len, num_kv_heads, head_dim).half().to(0)
111
+ v = torch.randn(kv_len, num_kv_heads, head_dim).half().to(0)
112
+
113
+ # decode attention
114
+
115
+ num_qo_heads = 32
116
+ q = torch.randn(num_qo_heads, head_dim).half().to(0)
117
+
118
+ o = flashinfer.single_decode_with_kv_cache(q, k, v) # decode attention without RoPE on-the-fly
119
+ o_rope_on_the_fly = flashinfer.single_decode_with_kv_cache(q, k, v, pos_encoding_mode="ROPE_LLAMA") # decode with LLaMA style RoPE on-the-fly
120
+
121
+ # append attention
122
+ append_qo_len = 128
123
+ q = torch.randn(append_qo_len, num_qo_heads, head_dim).half().to(0) # append attention, the last 128 tokens in the KV-Cache are the new tokens
124
+ o = flashinfer.single_prefill_with_kv_cache(q, k, v, causal=True) # append attention without RoPE on-the-fly, apply causal mask
125
+ o_rope_on_the_fly = flashinfer.single_prefill_with_kv_cache(q, k, v, causal=True, pos_encoding_mode="ROPE_LLAMA") # append attention with LLaMA style RoPE on-the-fly, apply causal mask
126
+
127
+ # prefill attention
128
+ qo_len = 2048
129
+ q = torch.randn(qo_len, num_qo_heads, head_dim).half().to(0) # prefill attention
130
+ o = flashinfer.single_prefill_with_kv_cache(q, k, v, causal=False) # prefill attention without RoPE on-the-fly, do not apply causal mask
131
+ ```
132
+
133
+ Check out [documentation](https://docs.flashinfer.ai/) for usage of batch decode/append/prefill kernels and shared-prefix cascading kernels.
134
+
135
+ ## Custom Attention Variants
136
+
137
+ Starting from FlashInfer v0.2, users can customize their own attention variants with additional parameters. For more details, refer to our [JIT examples](https://github.com/flashinfer-ai/flashinfer/blob/main/tests/test_jit_example.py).
138
+
139
+ ## Run Benchmarks
140
+
141
+ We profile FlashInfer kernel performance with [nvbench](https://github.com/NVIDIA/nvbench) and you can compile and run the benchmarks with the following commands:
142
+
143
+ ```bash
144
+ mkdir build
145
+ cp cmake/config.cmake build # you can modify the config.cmake to enable/disable benchmarks and change CUDA architectures
146
+ cd build
147
+ cmake ..
148
+ make -j12
149
+ ```
150
+
151
+ You can run `./bench_{single/batch}_{prefill/decode}` to benchmark the performance (e.g. `./bench_single_prefill` for single-request prefill attention). `./bench_{single/batch}_{prefill/decode} --help` will show you the available options.
152
+
153
+ ## C++ API and TVM Bindings
154
+
155
+ FlashInfer also provides C++ API and TVM bindings, please refer to [documentation](https://docs.flashinfer.ai/) for more details.
156
+
157
+ ## Adoption
158
+
159
+ We are thrilled to share that FlashInfer is being adopted by many cutting-edge projects, including but not limited to:
160
+ - [MLC-LLM](https://github.com/mlc-ai/mlc-llm)
161
+ - [Punica](https://github.com/punica-ai/punica)
162
+ - [SGLang](https://github.com/sgl-project/sglang)
163
+ - [ScaleLLM](https://github.com/vectorch-ai/ScaleLLM)
164
+ - [vLLM](https://github.com/vllm-project/vllm)
165
+ - [TGI](https://github.com/huggingface/text-generation-inference)
166
+ - [lorax](https://github.com/predibase/lorax)
167
+ - [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM)
168
+ - [LightLLM](https://github.com/ModelTC/lightllm)
169
+
170
+ ## Acknowledgement
171
+
172
+ FlashInfer is inspired by [FlashAttention 1&2](https://github.com/dao-AILab/flash-attention/), [vLLM](https://github.com/vllm-project/vllm), [stream-K](https://arxiv.org/abs/2301.03598), [cutlass](https://github.com/nvidia/cutlass) and [AITemplate](https://github.com/facebookincubator/AITemplate) projects.
173
+
174
+ ## Citation
175
+
176
+ If you find FlashInfer helpful in your project or research, please consider citing our [paper](https://arxiv.org/abs/2501.01005):
177
+
178
+ ```bibtex
179
+ @article{ye2025flashinfer,
180
+ title = {FlashInfer: Efficient and Customizable Attention Engine for LLM Inference Serving},
181
+ author = {
182
+ Ye, Zihao and
183
+ Chen, Lequn and
184
+ Lai, Ruihang and
185
+ Lin, Wuwei and
186
+ Zhang, Yineng and
187
+ Wang, Stephanie and
188
+ Chen, Tianqi and
189
+ Kasikci, Baris and
190
+ Grover, Vinod and
191
+ Krishnamurthy, Arvind and
192
+ Ceze, Luis
193
+ },
194
+ journal = {arXiv preprint arXiv:2501.01005},
195
+ year = {2025},
196
+ url = {https://arxiv.org/abs/2501.01005}
197
+ }
198
+ ```
@@ -0,0 +1,125 @@
1
+ /*
2
+ * Copyright (c) 2024 by FlashInfer team.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ #include <flashinfer/activation.cuh>
17
+
18
+ #include "pytorch_extension_utils.h"
19
+
20
+ using namespace flashinfer;
21
+
22
+ __device__ __forceinline__ float silu(const float& val) { return val / (1.0f + __expf(-val)); }
23
+
24
+ __device__ __forceinline__ float gelu(const float& val) {
25
+ constexpr float kAlpha = M_SQRT1_2;
26
+ return val * 0.5f * (1.0f + ::erf(val * kAlpha));
27
+ }
28
+
29
+ __device__ __forceinline__ float gelu_tanh(const float& val) {
30
+ const float cdf =
31
+ 0.5f * (1.0f + math::tanh((0.7978845608028654f * (val + 0.044715f * val * val * val))));
32
+ return val * cdf;
33
+ }
34
+
35
+ void silu_and_mul(at::Tensor& out, at::Tensor& input, bool enable_pdl, int64_t cuda_stream) {
36
+ int d = input.size(-1) / 2;
37
+ int64_t num_tokens = input.numel() / input.size(-1);
38
+
39
+ cudaStream_t stream = reinterpret_cast<cudaStream_t>(cuda_stream);
40
+
41
+ DISPATCH_PYTORCH_DTYPE_TO_CTYPE_FP16(input.scalar_type(), c_type, [&] {
42
+ uint32_t vec_size = 16 / sizeof(c_type);
43
+ cudaLaunchConfig_t config;
44
+ config.gridDim = num_tokens;
45
+ config.blockDim = std::min(d / vec_size, 1024U);
46
+ config.dynamicSmemBytes = 0;
47
+ config.stream = stream;
48
+ cudaLaunchAttribute attrs[1];
49
+ attrs[0].id = cudaLaunchAttributeProgrammaticStreamSerialization;
50
+ attrs[0].val.programmaticStreamSerializationAllowed = enable_pdl;
51
+ config.numAttrs = 1;
52
+ config.attrs = attrs;
53
+
54
+ auto kernel = flashinfer::activation::act_and_mul_kernel<c_type, silu>;
55
+
56
+ cudaLaunchKernelEx(&config, kernel, static_cast<c_type*>(out.data_ptr()),
57
+ static_cast<c_type*>(input.data_ptr()), d);
58
+
59
+ cudaError_t err = cudaGetLastError();
60
+ TORCH_CHECK(err == cudaSuccess, "Failed to launch kernel: ", cudaGetErrorString(err));
61
+
62
+ return true;
63
+ });
64
+ }
65
+
66
+ void gelu_tanh_and_mul(at::Tensor& out, at::Tensor& input, bool enable_pdl, int64_t cuda_stream) {
67
+ int d = input.size(-1) / 2;
68
+ int64_t num_tokens = input.numel() / input.size(-1);
69
+
70
+ cudaStream_t stream = reinterpret_cast<cudaStream_t>(cuda_stream);
71
+ DISPATCH_PYTORCH_DTYPE_TO_CTYPE_FP16(input.scalar_type(), c_type, [&] {
72
+ uint32_t vec_size = 16 / sizeof(c_type);
73
+ cudaLaunchConfig_t config;
74
+ config.gridDim = num_tokens;
75
+ config.blockDim = std::min(d / vec_size, 1024U);
76
+ config.dynamicSmemBytes = 0;
77
+ config.stream = stream;
78
+ cudaLaunchAttribute attrs[1];
79
+ attrs[0].id = cudaLaunchAttributeProgrammaticStreamSerialization;
80
+ attrs[0].val.programmaticStreamSerializationAllowed = enable_pdl;
81
+ config.numAttrs = 1;
82
+ config.attrs = attrs;
83
+
84
+ auto kernel = flashinfer::activation::act_and_mul_kernel<c_type, gelu_tanh>;
85
+
86
+ cudaLaunchKernelEx(&config, kernel, static_cast<c_type*>(out.data_ptr()),
87
+ static_cast<c_type*>(input.data_ptr()), d);
88
+
89
+ cudaError_t err = cudaGetLastError();
90
+ TORCH_CHECK(err == cudaSuccess, "Failed to launch kernel: ", cudaGetErrorString(err));
91
+
92
+ return true;
93
+ });
94
+ }
95
+
96
+ void gelu_and_mul(at::Tensor& out, at::Tensor& input, bool enable_pdl, int64_t cuda_stream) {
97
+ int d = input.size(-1) / 2;
98
+ int64_t num_tokens = input.numel() / input.size(-1);
99
+ dim3 grid(num_tokens);
100
+
101
+ cudaStream_t stream = reinterpret_cast<cudaStream_t>(cuda_stream);
102
+ DISPATCH_PYTORCH_DTYPE_TO_CTYPE_FP16(input.scalar_type(), c_type, [&] {
103
+ uint32_t vec_size = 16 / sizeof(c_type);
104
+ cudaLaunchConfig_t config;
105
+ config.gridDim = num_tokens;
106
+ config.blockDim = std::min(d / vec_size, 1024U);
107
+ config.dynamicSmemBytes = 0;
108
+ config.stream = stream;
109
+ cudaLaunchAttribute attrs[1];
110
+ attrs[0].id = cudaLaunchAttributeProgrammaticStreamSerialization;
111
+ attrs[0].val.programmaticStreamSerializationAllowed = enable_pdl;
112
+ config.numAttrs = 1;
113
+ config.attrs = attrs;
114
+
115
+ auto kernel = flashinfer::activation::act_and_mul_kernel<c_type, gelu>;
116
+
117
+ cudaLaunchKernelEx(&config, kernel, static_cast<c_type*>(out.data_ptr()),
118
+ static_cast<c_type*>(input.data_ptr()), d);
119
+
120
+ cudaError_t err = cudaGetLastError();
121
+ TORCH_CHECK(err == cudaSuccess, "Failed to launch kernel: ", cudaGetErrorString(err));
122
+
123
+ return true;
124
+ });
125
+ }
@@ -0,0 +1,33 @@
1
+ #pragma once
2
+ #include <flashinfer/page.cuh>
3
+ #include <flashinfer/math.cuh>
4
+ #include <flashinfer/layout.cuh>
5
+ #include <flashinfer/utils.cuh>
6
+ #include <flashinfer/pos_enc.cuh>
7
+ #include <flashinfer/fastdiv.cuh>
8
+ #include <flashinfer/attention/variant_helper.cuh>
9
+ #include <flashinfer/attention/mla_params.cuh>
10
+
11
+ using namespace flashinfer;
12
+
13
+ #ifdef FLASHINFER_ENABLE_PROFILER
14
+ #define ADDITIONAL_FUNC_PARAMS , at::Tensor profiler_buffer
15
+ #define ADDITIONAL_PARAMS_SETTER \
16
+ params.profiler_buffer = static_cast<uint64_t*>(profiler_buffer.data_ptr());
17
+ #else
18
+ #define ADDITIONAL_FUNC_PARAMS
19
+ #define ADDITIONAL_PARAMS_SETTER
20
+ #endif
21
+
22
+ using DTypeQ = {{ dtype_q }};
23
+ using DTypeKV = {{ dtype_kv }};
24
+ using DTypeO = {{ dtype_o }};
25
+ using IdType = {{ dtype_idx }};
26
+ constexpr int HEAD_DIM_CKV = {{ head_dim_ckv }};
27
+ constexpr int HEAD_DIM_KPE = {{ head_dim_kpe }};
28
+
29
+ #define DISPATCH_context(DTypeQ, DTypeKV, DTypeO, IdType, MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE, Params, ...) \
30
+ DISPATCH_MASK_MODE(mask_mode, MASK_MODE, { \
31
+ using Params = MLAParams<DTypeQ, DTypeKV, DTypeO, IdType>; \
32
+ __VA_ARGS__(); \
33
+ })
@@ -0,0 +1,124 @@
1
+ /*
2
+ * Copyright (c) 2025 by FlashInfer team.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ #include <flashinfer/attention/mla.cuh>
17
+ #include <flashinfer/attention/scheduler.cuh>
18
+ #include <flashinfer/fastdiv.cuh>
19
+ #include <optional>
20
+
21
+ #include "batch_mla_config.inc"
22
+ #include "pytorch_conversion_utils.h"
23
+ #include "pytorch_extension_utils.h"
24
+
25
+ using namespace flashinfer;
26
+
27
+ void BatchMLAPagedAttentionRun(at::Tensor float_workspace_buffer, at::Tensor int_workspace_buffer,
28
+ at::Tensor plan_info_vec, at::Tensor q_nope, at::Tensor q_pe,
29
+ at::Tensor ckv_cache, at::Tensor kpe_cache, at::Tensor kv_indices,
30
+ at::Tensor o, std::optional<at::Tensor> maybe_lse,
31
+ int64_t mask_mode_code, int64_t num_heads, int64_t page_size,
32
+ double sm_scale, int64_t cuda_stream) {
33
+ // q_nope: [n, num_heads, head_dim_ckv]
34
+ // q_pe: [n, num_heads, head_dim_kpe]
35
+ // ckv_cache: [num_pages, page_size, head_dim_ckv]
36
+ // kpe_cache: [num_pages, page_size, head_dim_kpe]
37
+ MLAPlanInfo plan_info;
38
+ plan_info.FromVector(tensor_to_vec(plan_info_vec));
39
+
40
+ auto device = q_nope.device();
41
+
42
+ void* float_buffer_ptr = float_workspace_buffer.data_ptr();
43
+ void* int_buffer_ptr = int_workspace_buffer.data_ptr();
44
+
45
+ const MaskMode mask_mode = static_cast<MaskMode>(mask_mode_code);
46
+
47
+ auto q_scalar_type = q_nope.scalar_type();
48
+ auto kv_scalar_type = ckv_cache.scalar_type();
49
+
50
+ unsigned int q_nope_stride_n = q_nope.stride(0);
51
+ unsigned int q_nope_stride_h = q_nope.stride(1);
52
+ unsigned int q_pe_stride_n = q_pe.stride(0);
53
+ unsigned int q_pe_stride_h = q_pe.stride(1);
54
+ unsigned int ckv_stride_page = ckv_cache.stride(0);
55
+ unsigned int ckv_stride_n = ckv_cache.stride(1);
56
+ unsigned int kpe_stride_page = kpe_cache.stride(0);
57
+ unsigned int kpe_stride_n = kpe_cache.stride(1);
58
+ unsigned int o_stride_n = o.stride(0);
59
+ unsigned int o_stride_h = o.stride(1);
60
+
61
+ cudaStream_t stream = reinterpret_cast<cudaStream_t>(cuda_stream);
62
+
63
+ DISPATCH_context(
64
+ DTypeQ, DTypeKV, DTypeO, IdType, MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE, Params, [&] {
65
+ Params params;
66
+
67
+ params.q_nope = static_cast<DTypeQ*>(q_nope.data_ptr());
68
+ params.q_pe = static_cast<DTypeQ*>(q_pe.data_ptr());
69
+ params.ckv = static_cast<DTypeKV*>(ckv_cache.data_ptr());
70
+ params.kpe = static_cast<DTypeKV*>(kpe_cache.data_ptr());
71
+
72
+ params.q_indptr = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.q_indptr_offset);
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);
76
+ params.kv_indices = static_cast<IdType*>(kv_indices.data_ptr());
77
+ params.q_len = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.q_len_offset);
78
+ params.kv_len = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.kv_len_offset);
79
+ params.q_start = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.q_start_offset);
80
+ params.kv_start = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.kv_start_offset);
81
+ params.kv_end = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.kv_end_offset);
82
+ params.work_indptr =
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_partial_packed_offset_start = GetPtrFromBaseOffset<IdType>(
89
+ int_buffer_ptr, plan_info.merge_partial_packed_offset_start_offset);
90
+ params.merge_partial_packed_offset_end = GetPtrFromBaseOffset<IdType>(
91
+ int_buffer_ptr, plan_info.merge_partial_packed_offset_end_offset);
92
+ params.merge_partial_stride =
93
+ GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.merge_partial_stride_offset);
94
+ params.final_o = static_cast<DTypeO*>(o.data_ptr());
95
+ params.final_lse =
96
+ maybe_lse.has_value() ? static_cast<float*>(maybe_lse->data_ptr()) : nullptr;
97
+ params.partial_o =
98
+ GetPtrFromBaseOffset<DTypeO>(float_buffer_ptr, plan_info.partial_o_offset);
99
+ params.partial_lse =
100
+ GetPtrFromBaseOffset<float>(float_buffer_ptr, plan_info.partial_lse_offset);
101
+
102
+ params.num_heads = uint_fastdiv(num_heads);
103
+ params.block_size = uint_fastdiv(page_size);
104
+
105
+ params.q_nope_stride_n = q_nope_stride_n;
106
+ params.q_nope_stride_h = q_nope_stride_h;
107
+ params.q_pe_stride_n = q_pe_stride_n;
108
+ params.q_pe_stride_h = q_pe_stride_h;
109
+ params.ckv_stride_page = ckv_stride_page;
110
+ params.ckv_stride_n = ckv_stride_n;
111
+ params.kpe_stride_page = kpe_stride_page;
112
+ params.kpe_stride_n = kpe_stride_n;
113
+ params.o_stride_n = o_stride_n;
114
+ params.o_stride_h = o_stride_h;
115
+
116
+ params.sm_scale = sm_scale;
117
+
118
+ cudaError_t status = mla::BatchMLAPagedAttention<MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE>(
119
+ params, plan_info.num_blks_x, plan_info.num_blks_y, stream);
120
+
121
+ TORCH_CHECK(status == cudaSuccess,
122
+ "Failed to run MLA, error: ", cudaGetErrorString(status));
123
+ });
124
+ }
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Copyright (c) 2025 by FlashInfer team.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ #include "batch_mla_sm90_config.inc"
17
+ #include "pytorch_extension_utils.h"
18
+
19
+ at::Tensor BatchMLAPagedAttentionSM90Plan(at::Tensor float_workspace_buffer,
20
+ at::Tensor int_workspace_buffer,
21
+ at::Tensor page_locked_int_workspace_buffer,
22
+ at::Tensor qo_indptr, at::Tensor kv_indptr,
23
+ at::Tensor kv_len, int64_t num_heads, int64_t head_dim_o,
24
+ bool causal, int64_t cuda_stream);
25
+
26
+ void BatchMLAPagedAttentionSM90Run(at::Tensor float_workspace_buffer,
27
+ at::Tensor int_workspace_buffer, at::Tensor plan_info_vec,
28
+ at::Tensor q_nope, at::Tensor q_pe, at::Tensor ckv_cache,
29
+ at::Tensor kpe_cache, at::Tensor kv_indices, at::Tensor o,
30
+ std::optional<at::Tensor> maybe_lse, int64_t mask_mode_code,
31
+ int64_t num_heads, int64_t page_size,
32
+ double sm_scale ADDITIONAL_FUNC_PARAMS, int64_t cuda_stream);
33
+
34
+ TORCH_LIBRARY_FRAGMENT(TORCH_EXTENSION_NAME, m) {
35
+ m.def("plan", &BatchMLAPagedAttentionSM90Plan);
36
+ m.def("run", &BatchMLAPagedAttentionSM90Run);
37
+ }
@@ -0,0 +1,128 @@
1
+ /*
2
+ * Copyright (c) 2025 by FlashInfer team.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ #include <flashinfer/attention/mla_hopper.cuh>
17
+ #include <flashinfer/attention/scheduler.cuh>
18
+ #include <flashinfer/fastdiv.cuh>
19
+ #include <optional>
20
+
21
+ #include "batch_mla_sm90_config.inc"
22
+ #include "pytorch_conversion_utils.h"
23
+ #include "pytorch_extension_utils.h"
24
+
25
+ using namespace flashinfer;
26
+
27
+ void BatchMLAPagedAttentionSM90Run(at::Tensor float_workspace_buffer,
28
+ at::Tensor int_workspace_buffer, at::Tensor plan_info_vec,
29
+ at::Tensor q_nope, at::Tensor q_pe, at::Tensor ckv_cache,
30
+ at::Tensor kpe_cache, at::Tensor kv_indices, at::Tensor o,
31
+ std::optional<at::Tensor> maybe_lse, int64_t mask_mode_code,
32
+ int64_t num_heads, int64_t page_size,
33
+ double sm_scale ADDITIONAL_FUNC_PARAMS, int64_t cuda_stream) {
34
+ // q_nope: [n, num_heads, head_dim_ckv]
35
+ // q_pe: [n, num_heads, head_dim_kpe]
36
+ // ckv_cache: [num_pages, page_size, head_dim_ckv]
37
+ // kpe_cache: [num_pages, page_size, head_dim_kpe]
38
+ MLAPlanInfo plan_info;
39
+ plan_info.FromVector(tensor_to_vec(plan_info_vec));
40
+
41
+ auto device = q_nope.device();
42
+
43
+ void* float_buffer_ptr = float_workspace_buffer.data_ptr();
44
+ void* int_buffer_ptr = int_workspace_buffer.data_ptr();
45
+
46
+ const MaskMode mask_mode = static_cast<MaskMode>(mask_mode_code);
47
+
48
+ auto q_scalar_type = q_nope.scalar_type();
49
+ auto kv_scalar_type = ckv_cache.scalar_type();
50
+
51
+ unsigned int q_nope_stride_n = q_nope.stride(0);
52
+ unsigned int q_nope_stride_h = q_nope.stride(1);
53
+ unsigned int q_pe_stride_n = q_pe.stride(0);
54
+ unsigned int q_pe_stride_h = q_pe.stride(1);
55
+ unsigned int ckv_stride_page = ckv_cache.stride(0);
56
+ unsigned int ckv_stride_n = ckv_cache.stride(1);
57
+ unsigned int kpe_stride_page = kpe_cache.stride(0);
58
+ unsigned int kpe_stride_n = kpe_cache.stride(1);
59
+ unsigned int o_stride_n = o.stride(0);
60
+ unsigned int o_stride_h = o.stride(1);
61
+
62
+ cudaStream_t stream = reinterpret_cast<cudaStream_t>(cuda_stream);
63
+
64
+ DISPATCH_context(
65
+ DTypeQ, DTypeKV, DTypeO, IdType, MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE, Params, [&] {
66
+ Params params;
67
+
68
+ params.q_nope = static_cast<DTypeQ*>(q_nope.data_ptr());
69
+ params.q_pe = static_cast<DTypeQ*>(q_pe.data_ptr());
70
+ params.ckv = static_cast<DTypeKV*>(ckv_cache.data_ptr());
71
+ params.kpe = static_cast<DTypeKV*>(kpe_cache.data_ptr());
72
+
73
+ params.q_indptr = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.q_indptr_offset);
74
+ params.kv_indptr = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.kv_indptr_offset);
75
+ params.partial_indptr =
76
+ GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.partial_indptr_offset);
77
+ params.kv_indices = static_cast<IdType*>(kv_indices.data_ptr());
78
+ params.q_len = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.q_len_offset);
79
+ params.kv_len = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.kv_len_offset);
80
+ params.q_start = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.q_start_offset);
81
+ params.kv_start = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.kv_start_offset);
82
+ params.kv_end = GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.kv_end_offset);
83
+ params.work_indptr =
84
+ GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.work_indptr_offset);
85
+ params.merge_packed_offset_start = GetPtrFromBaseOffset<IdType>(
86
+ int_buffer_ptr, plan_info.merge_packed_offset_start_offset);
87
+ params.merge_packed_offset_end =
88
+ GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.merge_packed_offset_end_offset);
89
+ params.merge_partial_packed_offset_start = GetPtrFromBaseOffset<IdType>(
90
+ int_buffer_ptr, plan_info.merge_partial_packed_offset_start_offset);
91
+ params.merge_partial_packed_offset_end = GetPtrFromBaseOffset<IdType>(
92
+ int_buffer_ptr, plan_info.merge_partial_packed_offset_end_offset);
93
+ params.merge_partial_stride =
94
+ GetPtrFromBaseOffset<IdType>(int_buffer_ptr, plan_info.merge_partial_stride_offset);
95
+ params.final_o = static_cast<DTypeO*>(o.data_ptr());
96
+ params.final_lse =
97
+ maybe_lse.has_value() ? static_cast<float*>(maybe_lse->data_ptr()) : nullptr;
98
+ params.partial_o =
99
+ GetPtrFromBaseOffset<DTypeO>(float_buffer_ptr, plan_info.partial_o_offset);
100
+ params.partial_lse =
101
+ GetPtrFromBaseOffset<float>(float_buffer_ptr, plan_info.partial_lse_offset);
102
+
103
+ params.num_heads = uint_fastdiv(num_heads);
104
+ params.block_size = uint_fastdiv(page_size);
105
+
106
+ params.q_nope_stride_n = q_nope_stride_n;
107
+ params.q_nope_stride_h = q_nope_stride_h;
108
+ params.q_pe_stride_n = q_pe_stride_n;
109
+ params.q_pe_stride_h = q_pe_stride_h;
110
+ params.ckv_stride_page = ckv_stride_page;
111
+ params.ckv_stride_n = ckv_stride_n;
112
+ params.kpe_stride_page = kpe_stride_page;
113
+ params.kpe_stride_n = kpe_stride_n;
114
+ params.o_stride_n = o_stride_n;
115
+ params.o_stride_h = o_stride_h;
116
+
117
+ ADDITIONAL_PARAMS_SETTER
118
+
119
+ params.sm_scale = sm_scale;
120
+
121
+ cudaError_t status =
122
+ mla::BatchMLAPageAttentionHopper<MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE>(
123
+ params, plan_info.num_blks_x, plan_info.num_blks_y, stream);
124
+
125
+ TORCH_CHECK(status == cudaSuccess,
126
+ "Failed to run MLA, error: ", cudaGetErrorString(status));
127
+ });
128
+ }