您的位置:首页 > 博客中心 > 前端开发 >

国产计算框架Mindspore1.3.0 gpu源代码中的cmake文件存在问题(bug),openmpi的url错误,导致不能正常编译——成功解决mindspore-gpu-1.3.0版本不能从源代码中编译的问题

时间:2022-09-07 11:14

mindspore 的 r1.3 分支 在gpu方式编译下存在问题,无法编译,具体编译结果参考:

 

 

 

编译时会报错,提示就是使用cmake自动编译mindspore-r1.3-gpu版本时openmpi的源代码中存在语法错误,经过检查发现是其中给出的openmpi地址对应的openmpi源代码中存在bug,即使是单独编译该地址下的openmpi源代码也会同样报错。

mindspore源代码  分支:r1.3 下对应的文件:

cmake/external_libs/ompi.cmake

 

该文件中的完整代码如下:

if(ENABLE_GITEE)
    set(REQ_URL "https://gitee.com/mirrors/ompi/repository/archive/v4.0.3.tar.gz")
    set(MD5 "f76abc92ae870feff186d790f40ae762")
else()
    set(REQ_URL "https://github.com/open-mpi/ompi/archive/v4.0.3.tar.gz")
    set(MD5 "86cb724e8fe71741ad3be4e7927928a2")
endif()

set(ompi_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2")
mindspore_add_pkg(ompi
        VER 4.0.3
        LIBS mpi
        URL ${REQ_URL}
        MD5 ${MD5}
        pre_CONFIGURE_COMMAND ./autogen.pl
        CONFIGURE_COMMAND ./configure)
include_directories(${ompi_INC})
add_library(mindspore::ompi ALIAS ompi::mpi)

 

 

 

个人修改后的文件:

cmake/external_libs/ompi.cmake

完整内容:

if(ENABLE_GITEE)
    set(REQ_URL "https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz")
    set(MD5 "f4be54a4358a536ec2cdc694c7200f0b")
else()
    set(REQ_URL "https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz")
    set(MD5 "f4be54a4358a536ec2cdc694c7200f0b")
endif()

set(ompi_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2")
mindspore_add_pkg(ompi
        VER 4.0.3
        LIBS mpi
        URL ${REQ_URL}
        MD5 ${MD5}
        pre_CONFIGURE_COMMAND ./configure
        CONFIGURE_COMMAND ./configure)
include_directories(${ompi_INC})
add_library(mindspore::ompi ALIAS ompi::mpi)

 

 

 

该文件如此修改后经过个人验证,可以成功在gpu环境下编译mindspore r1.3分支。

该bug已经提交PR给官网:

PR地址:

 

 

 

 

==========================================================

 

 

 

操作系统:Ubuntu18.04

硬件:i7-9700k cpu, 2060super 显卡

 

 

 

==========================================================

 

 

相关依赖的软件完全按照官网要求进行配置的:

技术图片

 

本类排行

今日推荐

热门手游