Mooncake Ascend Transports
导言
我看到 Mooncake 为 Ascend 提供了三个编译开关:USE_ASCEND、USE_ASCEND_DIRECT 和 USE_UBSHMEM。最直接的问题是:它们是不是三套并列的通信 engine?特别是后两个名字里已经有 Direct 和 SHMEM,是否意味着数据传输已经由 AIV 直驱?
沿着合入 PR 和源码调用链看下去,答案逐渐清楚:这不是三套同层方案,而是 Mooncake 先后解决“能传”“通用地传”和“把远端内存映射后再传”三个问题留下的三条路径。更重要的是,按当前可见源码,三者都不能直接称为 AIV 直驱。