debug: probe all ixformer symbol locations
This commit is contained in:
66
probe_all_symbols.sh
Normal file
66
probe_all_symbols.sh
Normal file
@@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
# probe_all_symbols.sh — Check which ixformer::infer symbols actually exist
|
||||
echo "=== Checking all symbols we need ==="
|
||||
|
||||
LIBS=(
|
||||
"/usr/local/corex/lib64/python3/dist-packages/ixformer/libixformer.so"
|
||||
"/usr/local/corex/lib64/python3/dist-packages/ixformer/_ixformer_torch.cpython-310-x86_64-linux-gnu.so"
|
||||
"/usr/local/corex/lib64/python3/dist-packages/ixformer/_C.cpython-310-x86_64-linux-gnu.so"
|
||||
"/usr/local/corex/lib64/libixattn.so"
|
||||
)
|
||||
|
||||
FUNCS=(
|
||||
"silu_and_mul"
|
||||
"topk_softmax"
|
||||
"moe_compute_token_index"
|
||||
"moe_expand_input"
|
||||
"moe_w16a16_group_gemm"
|
||||
"moe_output_reduce_sum"
|
||||
"xllm_paged_attention"
|
||||
"ixinfer_flash_attn_unpad"
|
||||
"rms_norm"
|
||||
"residual_rms_norm"
|
||||
"xllm_rotary_embedding"
|
||||
"xllm_reshape_and_cache"
|
||||
"ixformer_linear"
|
||||
)
|
||||
|
||||
for func in "${FUNCS[@]}"; do
|
||||
echo ""
|
||||
echo "--- $func ---"
|
||||
found=0
|
||||
for lib in "${LIBS[@]}"; do
|
||||
if [ -f "$lib" ]; then
|
||||
matches=$(nm -D "$lib" 2>/dev/null | grep -i "$func" | grep " T \| W " | head -3)
|
||||
if [ -n "$matches" ]; then
|
||||
echo " $(basename $lib):"
|
||||
echo "$matches" | while read line; do echo " $line"; done
|
||||
found=1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
if [ "$found" -eq 0 ]; then
|
||||
echo " NOT FOUND in any .so (may need dlopen or different namespace)"
|
||||
# Also search undefined symbols to see if it's referenced somewhere
|
||||
for lib in "${LIBS[@]}"; do
|
||||
if [ -f "$lib" ]; then
|
||||
undef=$(nm -D "$lib" 2>/dev/null | grep -i "$func" | grep " U " | head -2)
|
||||
if [ -n "$undef" ]; then
|
||||
echo " (undefined ref in $(basename $lib)):"
|
||||
echo "$undef" | while read line; do echo " $line"; done
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "=== Full ixformer::infer namespace in all libs ==="
|
||||
for lib in "${LIBS[@]}"; do
|
||||
if [ -f "$lib" ]; then
|
||||
count=$(nm -D "$lib" 2>/dev/null | grep "ixformer.*infer" | grep " T \| W " | wc -l)
|
||||
echo ""
|
||||
echo "$(basename $lib): $count ixformer::infer symbols"
|
||||
nm -D "$lib" 2>/dev/null | grep "ixformer.*infer" | grep " T \| W " | c++filt | head -20
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user