MegEngine / MegEngine

MegEngine 是一个快速、可拓展、易于使用且支持自动求导的深度学习框架
https://megengine.org.cn/
Apache License 2.0
4.77k stars 543 forks source link

Win10从源码编译出现问题 #139

Closed Qsingle closed 3 years ago

Qsingle commented 3 years ago

1.Visual Studio 版本:Visual Studio 2017 2.Cmake版本: 3.18.1 3.编译过程: mkdir build & cd build cmake .. -DCMAKE_BUILD_TYPE=Release -G "Visual Studio 15 Win64" -DMGE_WITH_CUDA=ON -DMGE_WITH_TRT=ON -DTRT_ROOT_DIR=D:/workspace/lab/MegEngine/third_party/TensorRT-7.2.2.3 -DCMAKE_INSTALL_PREFIX=D:/tools/megengine -DMKL_ROOT_DIR=D:/tools/oneapi/mkl/latest 4.编译目标:训练与推理 5.log build_log.txt

cheekyshibe commented 3 years ago

你好,根据 Log 信息可以发现编译器选择错误。

MegEngine 不支持 cl.exe (除了 cuda 代码的 .cu 的 host 用到了,其他的代码只支持用 clang-cl.exe来编译)。

尝试换用 clang-cl, 如果有任何新的问题可以在这个 Issue 中回复。

Qsingle commented 3 years ago

使用Ninja编译出现错误 cmake .. -G "Ninja" -DMGE_ARCH=x86_64 -DMGE_WITH_CUDA=ON -DMGE_INFERENCE_ONLY=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PATH:PATH=D:/tools/megengine -DCMAKE_C_COMPILER=clang-cl.exe -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_MAKE_PROGRAM=ninja.exe -DTRT_ROOT_DIR=D:/workspace/lab/MegEngine/third_party/TensorRT-7.2.2.3 -DMKL_ROOT_DIR=D:/tools/oneapi/mkl/latest -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_C_FLAGS=-m64

ninja

build.log

haolongzhangm commented 3 years ago

看起来是你使用的llvm, 有 error: 'CurrentNameSpace' overrides a member function but is not marked 'override' [-Werror,-Wsuggest-override] 这个错误 (flatbuffers这个是第三方的,不太方便去修改他的代码)

Qsingle commented 3 years ago

更新: 关于之前的报错,需要修改 third_party/flatbuffers/grpc/src/compiler/schema_interface.h,给~Method, ~Service,~File加上override关键字。并在cmake/fatbuffers.cmake中加入-Wno-error=suggest-overide 编译环境: LLVM版本:11.0.0 CUDA版本:cuda 10.1 cudnn版本: 7.6.5 Visual Studio版本:Visual Studio 2017

fzhangscorec commented 3 years ago

您好,对 CUDA11 的支持还在开发中, 请先使用CUDA10.1编译

cheekyshibe commented 3 years ago

我建议把这个 Issue 拆开,前面处理的是 CUDA 10.1 在 Windows 10 编译报错的问题,看样子已经跑通了。

后面反馈的内容,已经变成了当前 MegEngine 不支持 CUDA 11 (即 30 系卡)的反馈,可以开新的 Issue.

cheekyshibe commented 3 years ago

CUDA 11 支持已经转移到https://github.com/MegEngine/MegEngine/issues/141 讨论