AI BOOK 上编译torch_musa v02.7.0 卡在cub 头文件的冲突。

涂胜军 2026-05-02 09:07:32

系统与环境

  • 架构uname -m -> aarch64

  • 操作系统: Ubuntu 22.04 (内核版本 5.15.0)

  • Python: 3.10, conda 环境 vllm-musa-env

硬件与驱动

  • GPU: M1000 (集成于“长江”SoC)

  • 驱动/Runtime: MUSA Runtime 4.2.0

  • 编译器musaInfo 输出显示 compiler: mcc

关键软件版本

  • MUSA Toolkits: 4.1.2 (但 musa_runtime 显示为 4.2.0)

  • muDNN: 2.9.1

  • mcc (MUSA C++ Compiler): 3.1.0

  • 其他组件: mccl 2.1.3, mublas 1.6v.0, mufft 1.6.0

目标软件

  • 目标: torch_musa v2.7.0 (从源码编译, 匹配 PyTorch v2.7.1)

  • 编译工具: CMake 3.25.2, Ninja, GCC 11.4.0

编译错误核心

  • 现象: 在编译设备端代码 (musa_kernels_generated_*.mu.o) 时失败。

  • 目标架构mp_22 (MUSA 架构版本 2.2)

  • 直接原因: MUSA SDK 中的头文件 (/usr/local/musa/include/thrust/system/musa/detail/core/util.h) 试图引用 thrust::cub 命名空间下的符号,但这些符号实际定义在 at_cuda_detail::cub 命名空间中,导致编译错误。/usr/local/musa/include/thrust/system/musa/detail/core/util.h:696:22: error: no template named 'UnitWord' in namespace 'thrust::cub'; did you mean 'at_cuda_detail::cub::UnitWord'?
        typedef typename cub::UnitWord<T>::DeviceWord DeviceWord;
                         ^~~~~
    /usr/local/musa/include/cub/agent/../util_type.cuh:425:8: note: 'at_cuda_detail::cub::UnitWord' declared here
    struct UnitWord
           ^
    In file included from /home/mole/umeet-ai/torch_musa/build/generated_cuda_compatible/aten/src/ATen/musa/cub-RadixSortPairs.mu:4:
    In file included from /home/mole/umeet-ai/torch_musa/build/generated_cuda_compatible/include/ATen/musa/cub.muh:27:
    In file included from /usr/local/musa/include/cub/cub.cuh:58:
    In file included from /usr/local/musa/include/cub/device/device_merge_sort.cuh:32:
    In file included from /usr/local/musa/include/cub/device/dispatch/dispatch_merge_sort.cuh:33:
    In file included from /usr/local/musa/include/cub/agent/agent_merge_sort.cuh:37:
    /usr/local/musa/include/thrust/system/musa/detail/core/util.h:788:12: error: no member named 'AliasTemporaries' in namespace 'thrust::cub'; did you mean 'at_cuda_detail::cub::AliasTemporaries'?
        return cub::AliasTemporaries(storage_ptr,
               ^~~~~
    /usr/local/musa/include/cub/util_device.cuh:69:13: note: 'at_cuda_detail::cub::AliasTemporaries' declared here
    musaError_t AliasTemporaries(
                ^
    8 errors generated when compiling for mp_22.
    CMake Error at musa_kernels_generated_cub-RadixSortPairs.mu.o.Release.cmake:283 (message):
      Error generating file
      /home/mole/umeet-ai/torch_musa/build/torch_musa/csrc/CMakeFiles/musa_kernels.dir/__/__/build/generated_cuda_compatible/aten/src/ATen/musa/./musa_kernels_generated_cub-RadixSortPairs.mu.o

...全文
80 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

265

社区成员

发帖
与我相关
我的任务
社区描述
摩尔线程成立于 2020 年 10 月,以全功能 GPU 为核心,致力于向全球提供加速计算的基础设施和一站式解决方案,为各行各业的数智化转型提供强大的 AI 计算支持。 我们的目标是成为具备国际竞争力的 GPU 领军企业,为融合人工智能和数字孪生的数智世界打造先进的加速计算平台。我们的愿景是为美好世界加速。
企业社区
社区管理员
  • 摩尔线程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧