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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user