{
    "module_aiter_enum": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/aiter_enum_pybind.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "torch_exclude": "False",
        "blob_gen_cmd": "''"
    },
    "module_activation": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/activation_pybind.cu'",
            "f'{AITER_CSRC_DIR}/kernels/activation_kernels.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": ["'-DENABLE_FP8'"],
        "extra_ldflags": "None",
        "extra_include": ["f'{AITER_CSRC_DIR}/include/ck_tile'"],
        "verbose": "False",
        "blob_gen_cmd": "''"
    },
    "module_custom_all_reduce": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/custom_all_reduce_pybind.cu'",
            "f'{AITER_CSRC_DIR}/kernels/custom_all_reduce.cu'"        
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "blob_gen_cmd": "''"
    },
    "module_moe_sorting": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/py_itfs_ck/moe_sorting_kernels.cu'",
            "f'{AITER_CSRC_DIR}/pybind/moe_sorting_pybind.cu'",
            "f'{CK_DIR}/example_hcu/ck_tile/13_moe_sorting/'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [
            "f'{CK_DIR}/example_hcu/ck_tile/13_moe_sorting/'"
        ],
        "verbose": "False",
        "blob_gen_cmd": "''"
    },
    "module_moe_sum": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/moe_sum_pybind.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "blob_gen_cmd": "''"
    },
    "module_moe": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/moe_ck_pybind.cu'",
            "f'{CK_DIR}/example_hcu/ck_tile/17_fused_moe/instances'",
            "f'{CK_DIR}/example_hcu/ck_tile/17_fused_moe/moe_2stage'",
            "f'{CK_DIR}/example_hcu/ck_tile/18_moe_quant/instances'",
            "f'{AITER_CSRC_DIR}/py_itfs_ck/moe_kernels.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [
            "f'{CK_DIR}/example_hcu/ck_tile/17_fused_moe'",
            "f'{CK_DIR}/example_hcu/ck_tile/18_moe_quant'"
        ],
        "verbose": "False",
        "hipify": "True",
        "blob_gen_cmd": "''"
    },
    "module_grouped_gemm": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/grouped_gemm_ck_pybind.cu'",
            "f'{AITER_CSRC_DIR}/py_itfs_ck/grouped_gemm_kernels.cu'",
            "f'{CK_DIR}/example_hcu/ck_tile/19_grouped_gemm/grouped_gemm.cpp'",
            "f'{CK_DIR}/example_hcu/ck_tile/19_grouped_gemm/instances/grouped_gemm_fp16.cpp'",
            "f'{CK_DIR}/example_hcu/ck_tile/19_grouped_gemm/instances/grouped_gemm_bf16.cpp'",
            "f'{CK_DIR}/example_hcu/ck_tile/19_grouped_gemm/instances/grouped_gemm_fp8.cpp'",
            "f'{CK_DIR}/example_hcu/ck_tile/19_grouped_gemm/instances/grouped_gemm_int8.cpp'"
        ],
        "flags_extra_cc": [
            "'-DCK_TILE_GROUPED_GEMM_FAST_BUILD'",
            "'-DCK_TILE_GROUPED_GEMM_FAST_FP16'",
            "'-DCK_TILE_GROUPED_GEMM_FAST_BF16'",
            "'-DCK_TILE_GROUPED_GEMM_FAST_FP8'",
            "'-DCK_TILE_GROUPED_GEMM_FAST_INT8'",
            "'-DCK_TILE_GROUPED_GEMM_FAST_RC_ONLY'"
        ],
        "flags_extra_hip": [
            "'-DCK_TILE_GROUPED_GEMM_FAST_BUILD'",
            "'-DCK_TILE_GROUPED_GEMM_FAST_FP16'",
            "'-DCK_TILE_GROUPED_GEMM_FAST_BF16'",
            "'-DCK_TILE_GROUPED_GEMM_FAST_FP8'",
            "'-DCK_TILE_GROUPED_GEMM_FAST_INT8'",
            "'-DCK_TILE_GROUPED_GEMM_FAST_RC_ONLY'"
        ],
        "extra_ldflags": "None",
        "extra_include": [
            "f'{CK_DIR}/example_hcu/ck_tile/19_grouped_gemm'",
            "f'{CK_DIR}/example_hcu/ck_tile/19_grouped_gemm/instances'"
        ],
        "verbose": "False",
        "hipify": "False",
        "blob_gen_cmd": "''"
    },
    "module_moe_utils":{
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/moe_utils_pybind.cu'",
            "f'{AITER_CSRC_DIR}/kernels/topk_softmax_kernels.cu'",
            "f'{AITER_CSRC_DIR}/kernels/topk_softmax_kernels_group.cu'",
            "f'{AITER_CSRC_DIR}/kernels/moe_fused_gate.cu'",
            "f'{AITER_CSRC_DIR}/kernels/moe_align_sum_kernels.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": ["'-DENABLE_FP8'"],
        "extra_ldflags": "None",
        "extra_include": [
            "f'{AITER_CSRC_DIR}/include/ck_tile'"
        ],
        "verbose": "False",
        "hifify": "True",
        "blob_gen_cmd": "''"
    },
    "module_moe_asm": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/moe_asm_2stages_pybind.cu'",
            "f'{AITER_CSRC_DIR}/py_itfs_asm/asm_fmoe_2stage.cpp'",
            "f'{AITER_CSRC_DIR}/py_itfs_asm/asm_fmoe_a8.cpp'",
            "f'{AITER_CSRC_DIR}/py_itfs_asm/asm_fmoe_solutions.cpp'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "hipify":"True",
        "blob_gen_cmd": "''"
    },
    "module_awq_gemm_asm": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/awq_gemm_asm_pybind.cu'",
            "f'{AITER_CSRC_DIR}/py_itfs_asm/asm_gemm_awq.cpp'",
            "f'{AITER_CSRC_DIR}/py_itfs_asm/asm_gemm_kernel_config.cpp'"
        ],
        "flags_extra_cc": [
            "f'-DAITER_OPT_KERNEL_CONFIG_PATH=\"{AITER_CSRC_DIR}/py_itfs_asm/optKernelManifest.json\"'"
        ],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [
            "f'{AITER_CSRC_DIR}/py_itfs_asm'"
        ],
        "verbose": "False",
        "hipify": "True",
        "blob_gen_cmd": "''"
    },
    "module_awq_dq_asm": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/awq_dq_asm_pybind.cu'",
            "f'{AITER_CSRC_DIR}/py_itfs_asm/asm_dq_awq.cpp'"
        ],
        "flags_extra_cc": [
            "f'-DAITER_OPT_KERNEL_CONFIG_PATH=\"{AITER_CSRC_DIR}/py_itfs_asm/optKernelManifest.json\"'"
        ],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [
            "f'{AITER_CSRC_DIR}/py_itfs_asm'"
        ],
        "verbose": "False",
        "hipify": "True",
        "blob_gen_cmd": "''"
    },
    "module_norm": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/py_itfs_ck/norm_kernels.cu'",
            "f'{AITER_CSRC_DIR}/pybind/norm_pybind.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [
            "f'{CK_DIR}/example_hcu/ck_tile/02_layernorm2d'"
        ],
        "verbose": "False",
        "blob_gen_cmd": "f'{CK_DIR}/example_hcu/ck_tile/02_layernorm2d/generate.py --api fwd --gen_blobs --working_path {{}}'"
    },
    "module_pos_encoding": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/pos_encoding_pybind.cu'",
            "f'{AITER_CSRC_DIR}/kernels/pos_encoding_kernels.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "blob_gen_cmd": "''"
    },
    "module_rmsnorm": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/kernels/rmsnorm_kernels.cu'",
            "f'{AITER_CSRC_DIR}/py_itfs_ck/rmsnorm_ck_kernels.cu'",
            "f'{AITER_CSRC_DIR}/pybind/rmsnorm_pybind.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [
            "f'{CK_DIR}/example_hcu/ck_tile/10_rmsnorm2d'"
        ],
        "verbose": "False",
        "blob_gen_cmd": "f'{CK_DIR}/example_hcu/ck_tile/10_rmsnorm2d/generate.py --api fwd --gen_blobs --working_path {{}}'"
    },
    "module_aiter_operator": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/aiter_operator_pybind.cu'",
            "f'{AITER_CSRC_DIR}/include/binary_operator.cuh'",
            "f'{AITER_CSRC_DIR}/kernels/binary_operator.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "blob_gen_cmd": "f'{AITER_CSRC_DIR}/kernels/generate_binaryop.py --working_path {{}} --optype all --dtypes all'"
    },
    "module_aiter_unary": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/aiter_unary_pybind.cu'",
            "f'{AITER_CSRC_DIR}/kernels/unary_operator.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "blob_gen_cmd": "''"
    },
    "module_quant": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/quant_pybind.cu'",
            "f'{AITER_CSRC_DIR}/kernels/quant_kernels.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [
            "'-DENABLE_FP8'"
        ],
        "extra_ldflags": "None",
        "extra_include": [
            "f'{AITER_CSRC_DIR}/include/ck_tile'"
        ],
        "verbose": "False",
        "blob_gen_cmd": "''"
    },
    "module_rope_general_fwd": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/rope_general_fwd_pybind.cu'",
            "f'{AITER_CSRC_DIR}/kernels/rope/rope_common.h'",
            "f'{AITER_CSRC_DIR}/kernels/rope/general_fwd_kernels.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "blob_gen_cmd": "''"
    },
    "module_rope_general_bwd": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/rope_general_bwd_pybind.cu'",
            "f'{AITER_CSRC_DIR}/kernels/rope/rope_common.h'",
            "f'{AITER_CSRC_DIR}/kernels/rope/general_bwd_kernels.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "blob_gen_cmd": "''"
    },
    "module_rope_pos_fwd": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/rope_pos_fwd_pybind.cu'",
            "f'{AITER_CSRC_DIR}/kernels/rope/rope_common.h'",
            "f'{AITER_CSRC_DIR}/kernels/rope/pos_fwd_kernels.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "blob_gen_cmd": "''"
    },
    "module_fused_qk_norm_mrope_cache_quant_shuffle": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/fused_qk_norm_mrope_cache_quant_pybind.cu'",
            "f'{AITER_CSRC_DIR}/kernels/rope/rope_common.h'",
            "f'{AITER_CSRC_DIR}/kernels/fused_qk_norm_mrope_cache_quant.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "blob_gen_cmd": "''"
    },
    "module_fused_qk_norm_rope_cache_quant_shuffle": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/fused_qk_norm_rope_cache_quant_pybind.cu'",
            "f'{AITER_CSRC_DIR}/kernels/rope/rope_common.h'",
            "f'{AITER_CSRC_DIR}/kernels/fused_qk_norm_rope_cache_quant.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [
            "'-DENABLE_FP8'"
        ],
        "extra_ldflags": "None",
        "extra_include": [
            "f'{AITER_CSRC_DIR}/include/ck_tile'",
            "f'{AITER_CSRC_DIR}/include/opus'"
        ],
        "verbose": "False",
        "blob_gen_cmd": "''"
    },
    "module_rocsolgemm": {
        "srcs": [
            "f'{AITER_GRADLIB_DIR}/csrc/rocsolgemm.cu'"
        ],
        "flags_extra_cc": [
            "'-O3'"
        ],
        "flags_extra_hip": [
            "'-O3'",
            "'-U__CUDA_NO_HALF_OPERATORS__'",
            "'-U__CUDA_NO_HALF_CONVERSIONS__'",
            "'-ftemplate-depth=1024'"
        ],
        "extra_ldflags": ["'-lrocblas'"],
        "extra_include": [
            "f'{AITER_GRADLIB_DIR}/include/'"
        ],
        "hipify": "True",
        "verbose": "False",
        "blob_gen_cmd": "''",
        "skip_if": "detect_dtk_env()"
    },
    "module_hipbsolgemm": {
        "srcs": [
            "f'{AITER_GRADLIB_DIR}/csrc/hipbsolgemm.cu'"
        ],
        "flags_extra_cc": [
            "'-O3'"
        ],
        "flags_extra_hip": [
            "'-O3'",
            "'-U__CUDA_NO_HALF_OPERATORS__'",
            "'-U__CUDA_NO_HALF_CONVERSIONS__'",
            "'-ftemplate-depth=1024'",
            "'-DENABLE_TORCH_FP8' if hasattr(torch, 'float8_e4m3fn') else '' "
        ],
        "extra_ldflags": ["'-lhipblaslt'"],
        "extra_include": [
            "f'{AITER_GRADLIB_DIR}/include/'"
        ],
        "hipify": "True",
        "verbose": "False",
        "blob_gen_cmd": "''",
        "skip_if": "detect_dtk_env()"
    },
    "module_moe_c_kernel": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/moe_c_pybind.cu'",
            "f'{MOE_C_DIR}/csrc_for_aiter'",
            "f'{AITER_CSRC_DIR}/py_itfs_moe_c/moe_c.cu'"
        ],
        "flags_extra_cc": ["' -mllvm -support-768-vgprs=true -mllvm -disable-machine-sink -w'"
    ],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "hipify": "True",
        "blob_gen_cmd": "''"
    },
    "module_topk_plain": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/topk_plain_pybind.cu'",
            "f'{AITER_CSRC_DIR}/kernels/topk_plain_kernels.cu'",
            "f'{AITER_CSRC_DIR}/kernels/topk_per_row_kernels.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "hipify": "True",
        "blob_gen_cmd": "''"
    },
    "module_topk_transform": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/topk_transform_pybind.cu'",
            "f'{AITER_CSRC_DIR}/kernels/topk_transform.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "hipify": "True",
        "blob_gen_cmd": "''"
    },
    "module_mhc": {
        "srcs": [
            "f'{AITER_CSRC_DIR}/pybind/mhc_pybind.cu'",
            "f'{AITER_CSRC_DIR}/kernels/mhc_kernels.cu'"
        ],
        "flags_extra_cc": [],
        "flags_extra_hip": [],
        "extra_ldflags": "None",
        "extra_include": [],
        "verbose": "False",
        "blob_gen_cmd": "''"
    }
}
