用户自主编译 MegEgnine 问题总结

  • cmake cuda 编译出来的包在安培卡上运行的时候卡死
    这个问题一般是因为没有编译出来适用于安培卡的 kernel 代码,触发了 CUDA 的即时编译导致非常慢。MegEngine cmake cuda编译的现状如下

    • cuda11.1 及以上编译能适配市面上所有的安培卡,适配 sm80+sm86
    • cuda11.0 编译能适配 A100,但不能适配 30xx,仅适配 sm80
    • cuda10 不适配安培

    此外用户使用
    cmake -DMGE_CUDA_GENCODE="-gencode arch=compute_75,code=sm_75"
    可以自由指定 sm。
    sm 和 显卡型号对应关系可以参考 https://en.wikipedia.org/wiki/CUDA

1赞

官方发布的预编译包是cuda10.1的, cuda10.1 没有支持3x卡的支持。

关于cuda11+3x卡的预编译包, 有第三方的MegEngine支持, 可参考: https://github.com/Qsingle/MegEngine_CU11