| [general] |
| name = "fp4-gemm" |
| license = "Apache-2.0" |
| version = 1 |
| backends = ["cuda"] |
|
|
| [general.cuda] |
| minver = "12.8" |
|
|
| [general.hub] |
| repo-id = "flashrt/fp4-gemm" |
|
|
| [torch] |
| include = ["csrc"] |
| src = [ |
| "torch-ext/torch_binding.cpp", |
| "torch-ext/torch_binding.h", |
| ] |
|
|
| [kernel.fp4_gemm_sm110] |
| backend = "cuda" |
| depends = ["torch", "cutlass_4_4"] |
| include = ["csrc"] |
| cuda-minver = "13" |
| cuda-capabilities = ["11.0a"] |
| cuda-flags = [ |
| "--expt-relaxed-constexpr", |
| "-O3", |
| "--use_fast_math", |
| "-DCUTLASS_ARCH_MMA_SM100_SUPPORTED=1", |
| ] |
| src = [ |
| "csrc/gemm/fp4/cutlass_nvfp4_w4a16_gemm_sm100.cu", |
| "csrc/gemm/fp4/cutlass_nvfp4_w4a16_gemm_sm100.cuh", |
| "csrc/gemm/fp4/cutlass_fp4_gemm_bias_bf16_sm100.cu", |
| "csrc/gemm/fp4/cutlass_fp4_gemm_bias_bf16_sm100.cuh", |
| "csrc/quantize/quantize_fp4_sfa_bf16.cu", |
| "csrc/quantize/quantize_fp4_sfa_bf16.cuh", |
| "csrc/gemm/fp4/sm110_dispatch.cu", |
| "csrc/gemm/fp4/sm110_dispatch.cuh", |
| ] |
|
|
| [kernel.fp4_gemm_common] |
| backend = "cuda" |
| depends = ["torch"] |
| include = ["csrc"] |
| cuda-minver = "12.8" |
| cuda-capabilities = ["11.0a", "12.0a"] |
| cuda-flags = ["--expt-relaxed-constexpr", "-O3", "--use_fast_math"] |
| src = [ |
| "csrc/quantize/quantize_fp4_sfa.cu", |
| "csrc/quantize/quantize_fp4_sfa.cuh", |
| "csrc/dequantize_fp4_sfa.cu", |
| "csrc/dequantize_fp4_sfa.cuh", |
| ] |
|
|
| [kernel.fp4_gemm_sm120] |
| backend = "cuda" |
| depends = ["torch", "cutlass_4_0"] |
| include = ["csrc"] |
| cuda-minver = "12.8" |
| cuda-capabilities = ["12.0a"] |
| src = [ |
| "csrc/gemm/fp4/cutlass_nvfp4_w4a16_gemm_sm120.cu", |
| "csrc/gemm/fp4/fp4_w4a4_mma_warpsplit_sm120.cu", |
| "csrc/gemm/fp4/fp4_w4a4_mma_warpsplit_sm120.cuh", |
| "csrc/gemm/fp4/cutlass_nvfp4_w4a16_gemm_sm120.cuh", |
| "csrc/gemm/fp4/cutlass_nvfp4_gemm_bias_gelu_bf16out_sm120.cu", |
| "csrc/gemm/fp4/cutlass_nvfp4_gemm_bias_gelu_bf16out_sm120.cuh", |
| "csrc/gemm/fp4/cutlass_nvfp4_gemm_bias_gelu_fp4out_sm120.cu", |
| "csrc/gemm/fp4/cutlass_nvfp4_gemm_bias_gelu_fp4out_sm120.cuh", |
| "csrc/gemm/fp4/cutlass_nvfp4_gemm_dn_streamk_bias_sm120.cu", |
| "csrc/gemm/fp4/cutlass_nvfp4_gemm_dn_streamk_bias_sm120.cuh", |
| ] |
|
|