fix(runtime): bridge加载失败安全降级到Tier1(ixformer.functions)

根因:ixformer.h声明的是ixformer::infer::*命名空间,但base image
实际导出的是ixformer_torch_ext::*(in _ixformer_torch.so)和
ixformer::functions::*(in libixformer.so)。命名空间不匹配导致
bridge .so虽然编译成功但import时undefined symbol。

当前方案:bridge加载失败时安全降级到Tier1(ixformer.functions),
这是base image的Python binding,底层调用同样的CUDA kernel,性能一致。
Tier1已有silu_and_mul/rms_norm/rotary_embedding/paged_attention等。

后续迭代:重写ixformer.h用正确的ixformer_torch_ext namespace。
This commit is contained in:
Claude
2026-08-11 17:17:25 +00:00
parent 014a51e9fa
commit 6425a96728

View File

@@ -116,8 +116,14 @@ def _load_bridge():
_bridge = mod
logger.info("ix_unified_bridge loaded from %s", so_path)
return _bridge
except (ImportError, OSError, SystemError) as e:
logger.warning("Bridge load failed (expected if ixformer "
"namespace mismatch): %s: %s",
os.path.basename(so_path), e)
continue
except Exception as e:
logger.warning("Failed to load %s: %s", so_path, e)
logger.warning("Bridge load unexpected error: %s", e)
continue
logger.info("ix_unified_bridge.so not found, using fallback dispatch")
return None