获取可用的量化算子
()
| 36 | |
| 37 | |
| 38 | def get_available_quant_ops(): |
| 39 | """获取可用的量化算子""" |
| 40 | available_ops = [] |
| 41 | |
| 42 | triton_installed = is_module_installed("triton") |
| 43 | if triton_installed: |
| 44 | available_ops.append(("triton", True)) |
| 45 | else: |
| 46 | available_ops.append(("triton", False)) |
| 47 | |
| 48 | vllm_installed = is_module_installed("vllm") |
| 49 | if vllm_installed: |
| 50 | available_ops.append(("vllm", True)) |
| 51 | else: |
| 52 | available_ops.append(("vllm", False)) |
| 53 | |
| 54 | sgl_installed = is_module_installed("sgl_kernel") |
| 55 | if sgl_installed: |
| 56 | available_ops.append(("sgl", True)) |
| 57 | else: |
| 58 | available_ops.append(("sgl", False)) |
| 59 | |
| 60 | q8f_installed = is_module_installed("q8_kernels") |
| 61 | if q8f_installed: |
| 62 | available_ops.append(("q8f", True)) |
| 63 | else: |
| 64 | available_ops.append(("q8f", False)) |
| 65 | |
| 66 | # 检测 torch 选项:需要同时满足 hasattr(torch, "_scaled_mm") 和安装了 torchao |
| 67 | torch_available = hasattr(torch, "_scaled_mm") and is_module_installed("torchao") |
| 68 | if torch_available: |
| 69 | available_ops.append(("torch", True)) |
| 70 | else: |
| 71 | available_ops.append(("torch", False)) |
| 72 | |
| 73 | return available_ops |
| 74 | |
| 75 | |
| 76 | def get_available_attn_ops(): |
nothing calls this directly
no test coverage detected