diff --git a/probe_base_moe_forward.sh b/probe_base_moe_forward.sh new file mode 100755 index 00000000..0cc8f483 --- /dev/null +++ b/probe_base_moe_forward.sh @@ -0,0 +1,90 @@ +#!/bin/bash +set -e + +BASE="/usr/local/corex/lib/python3/dist-packages/vllm/model_executor/models/qwen3_5.py" + +echo "=== base qwen3_5.py line count ===" +wc -l "$BASE" + +echo "" +echo "=== _pure_pytorch_experts 完整函数 ===" +sed -n '/def _pure_pytorch_experts/,/^ def [a-z]/p' "$BASE" | head -200 + +echo "" +echo "=== forward 中调用 _pure_pytorch_experts 的上下文 ===" +grep -n -B5 -A5 "_pure_pytorch_experts\|corex_moe_direct\|corex_moe_weight\|corex_moe_exact\|corex_moe_topk" "$BASE" | head -100 + +echo "" +echo "=== corex_moe_direct_routed.w13 签名 ===" +python3 -c " +from vllm import corex_moe_direct_routed as m +import inspect +for name in dir(m): + if not name.startswith('_'): + obj = getattr(m, name) + try: + sig = inspect.signature(obj) + print(f'{name}{sig}') + except: + print(f'{name}: {type(obj)}') +" 2>&1 + +echo "" +echo "=== corex_moe_topk_softmax.moe_topk_softmax 签名 ===" +python3 -c " +from vllm import corex_moe_topk_softmax as m +import inspect +for name in dir(m): + if not name.startswith('_'): + obj = getattr(m, name) + try: + sig = inspect.signature(obj) + print(f'{name}{sig}') + except: + print(f'{name}: {type(obj)}') +" 2>&1 + +echo "" +echo "=== corex_moe_exact_reduce 签名 ===" +python3 -c " +from vllm import corex_moe_exact_reduce as m +import inspect +for name in dir(m): + if not name.startswith('_'): + obj = getattr(m, name) + try: + sig = inspect.signature(obj) + print(f'{name}{sig}') + except: + print(f'{name}: {type(obj)}') +" 2>&1 + +echo "" +echo "=== corex_moe_weight_gather 签名 ===" +python3 -c " +from vllm import corex_moe_weight_gather as m +import inspect +for name in dir(m): + if not name.startswith('_'): + obj = getattr(m, name) + try: + sig = inspect.signature(obj) + print(f'{name}{sig}') + except: + print(f'{name}: {type(obj)}') +" 2>&1 + +echo "" +echo "=== corex_moe_index_combine 签名 ===" +python3 -c " +from vllm import corex_moe_index_combine as m +import inspect +for name in dir(m): + if not name.startswith('_'): + obj = getattr(m, name) + try: + sig = inspect.signature(obj) + print(f'{name}{sig}') + except: + print(f'{name}: {type(obj)}') +" 2>&1