Closed MemoryCrash closed 2 years ago
LuoJiaTeam您好
我在华为Ascend服务器源码安装LuoJiaNET V1.0.5失败,希望LuoJiaTeam能协助分析安装失败的原因。 安装步骤:参考GPU源码编译指导。先安装环境依赖,接着安装gdal(bash build_gdal_npu.sh),最后安装LuoJiaNET(bash build_npu.sh -e ascend -j 4)。
安装LuoJiaNET过程遇到如下问题。
问题1:采用NPU训练脚本,但编译过程会寻找CUDA
CMake Error at /usr/local/share/cmake-3.21/Modules/FindCUDA.cmake:859 (message): Specify CUDA_TOOLKIT_ROOT_DIR
规避方法: cmake/options.cmake中的option(ENABLE_GPU "Enable gpu" ON)修改为option(ENABLE_GPU "Enable gpu" OFF)问题2:找不到头文件。经查,未在对应目录下找到指定头文件
/root/ai_framework/luojianet/graphengine/ge/ge_runtime/model_runner.cc:18:10: fatal error: framework/ge_runtime/model_runner.h: No such file or directory #include "framework/ge_runtime/model_runner.h
/root/ai_framework/luojianet/graphengine/metadef/inc/common/opskernel/ops_kernel_builder.h:25:10: fatal error: proto/task.pb.h: No such file or directory #include "proto/task.pb.h
问题3:使用的变量未定义
/root/ai_framework/luojianet/graphengine/ge/common/dump/dump_properties.cc:146:7: error: ‘mmIsDir’ was not declared in this scope
规避方法:添加 #include "mmap/mmpa_api.h"头文件。感谢答复。
感谢您反馈的意见, 问题1. 在NPU下编译,需要在options.cmake中,将ENABLE_CUDA设置为OFF: option(ENABLE_GPU "Enable gpu" OFF) 问题2. 找不到该头文件原因是编译时,采用了多线程(-j 4参数)编译方法,可去掉该参数,采用如下命令编译: bash build_npu.sh -e ascend 问题3. NPU下使用编译graph_eigine,可以采用添加该头文件避免未定义问题
同时,感谢您在pr提出的意见,已将do { } while(); 宏定义处全部修改,避免了“;”导致的问题。 如果碰到新的问题,欢迎您随时提问。
感谢您反馈的意见, 问题1. 在NPU下编译,需要在options.cmake中,将ENABLE_CUDA设置为OFF: option(ENABLE_GPU "Enable gpu" OFF) 问题2. 找不到该头文件原因是编译时,采用了多线程(-j 4参数)编译方法,可去掉该参数,采用如下命令编译: bash build_npu.sh -e ascend 问题3. NPU下使用编译graph_eigine,可以采用添加该头文件避免未定义问题
同时,感谢您在pr提出的意见,已将do { } while(); 宏定义处全部修改,避免了“;”导致的问题。 如果碰到新的问题,欢迎您随时提问。
LuoJiaTeam您好
感谢答复。我更新代码后,使用 bash build_npu.sh -e ascend 命令进行源码安装。
`/root/ai_framework/luojianet/graphengine/ge/ge_runtime/model_runner.cc:18:10: fatal error: framework/ge_runtime/model_runner.h: No such file or directory
` 我在luojianet代码目录下通过 find ./ -name model_runner.h 查找文件,可以看到该文件出现在 luojianet_ms/ccsrc/runtime/device/ascend/ge_runtime/model_runner.h目录。
root@ubuntu:~/ai_framework/luojianet# find ./ -name model_runner.h
./luojianet_ms/ccsrc/runtime/device/ascend/ge_runtime/model_runner.h
以下为环境信息
root@ubuntu:~/ai_framework/luojianet# npu-smi info
+-------------------------------------------------------------------------------------------+
| npu-smi 22.0.0 Version: 22.0.0 |
+----------------------+---------------+----------------------------------------------------+
| NPU Name | Health | Power(W) Temp(C) Hugepages-Usage(page)|
| Chip | Bus-Id | AICore(%) Memory-Usage(MB) HBM-Usage(MB) |
+======================+===============+====================================================+
| 2 910B | OK | 69.3 68 15 / 15 |
| 0 | 0000:01:00.0 | 0 1846 / 15077 1 / 32768 |
+======================+===============+====================================================+
root@ubuntu:~/ai_framework/luojianet# cat /proc/version
Linux version 4.15.0-112-generic (buildd@bos02-arm64-075) (gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)) #113-Ubuntu SMP Thu Jul 9 23:42:54 UTC 2020
感谢您反馈的意见, 问题1. 在NPU下编译,需要在options.cmake中,将ENABLE_CUDA设置为OFF: option(ENABLE_GPU "Enable gpu" OFF) 问题2. 找不到该头文件原因是编译时,采用了多线程(-j 4参数)编译方法,可去掉该参数,采用如下命令编译: bash build_npu.sh -e ascend 问题3. NPU下使用编译graph_eigine,可以采用添加该头文件避免未定义问题 同时,感谢您在pr提出的意见,已将do { } while(); 宏定义处全部修改,避免了“;”导致的问题。 如果碰到新的问题,欢迎您随时提问。
LuoJiaTeam您好
感谢答复。我更新代码后,使用 bash build_npu.sh -e ascend 命令进行源码安装。
- 依然提示model_runner.h文件不存在。是因为我还有一些配置没设置吗?
/root/ai_framework/luojianet/graphengine/ge/ge_runtime/model_runner.cc:18:10: fatal error: framework/ge_runtime/model_runner.h: No such file or directory #include "framework/ge_runtime/model_runner.h"
我在luojianet代码目录下通过 find ./ -name model_runner.h 查找文件,可以看到该文件出现在 luojianet_ms/ccsrc/runtime/device/ascend/ge_runtime/model_runner.h目录。root@ubuntu:~/ai_framework/luojianet# find ./ -name model_runner.h ./luojianet_ms/ccsrc/runtime/device/ascend/ge_runtime/model_runner.h
以下为环境信息
root@ubuntu:~/ai_framework/luojianet# npu-smi info +-------------------------------------------------------------------------------------------+ | npu-smi 22.0.0 Version: 22.0.0 | +----------------------+---------------+----------------------------------------------------+ | NPU Name | Health | Power(W) Temp(C) Hugepages-Usage(page)| | Chip | Bus-Id | AICore(%) Memory-Usage(MB) HBM-Usage(MB) | +======================+===============+====================================================+ | 2 910B | OK | 69.3 68 15 / 15 | | 0 | 0000:01:00.0 | 0 1846 / 15077 1 / 32768 | +======================+===============+====================================================+ root@ubuntu:~/ai_framework/luojianet# cat /proc/version Linux version 4.15.0-112-generic (buildd@bos02-arm64-075) (gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)) #113-Ubuntu SMP Thu Jul 9 23:42:54 UTC 2020
感谢再次反馈。 问题在于graphengine的版本发生了变动,可NPU下将graphengine相关设置去掉后,再编译: https://github.com/WHULuoJiaTeam/luojianet/tree/master/cmake/mind_expression.cmake mind_expression.cmake中第95-112行屏蔽掉后,再重新编译
感谢再次反馈。 问题在于graphengine的版本发生了变动,可NPU下将graphengine相关设置去掉后,再编译: https://github.com/WHULuoJiaTeam/luojianet/tree/master/cmake/mind_expression.cmake mind_expression.cmake中第95-112行屏蔽掉后,再重新编译
LuoJiaTeam您好 感谢回复。我按照指导编译后出现问题。具体步骤如下
将mind_expression.cmake按照安装如下方式注释
90 if(ENABLE_GE)
91 include_directories(${CMAKE_SOURCE_DIR}/third_party/ge/include)
92 include_directories(${CMAKE_SOURCE_DIR}/third_party/ge/include/external)
93 include_directories(${CMAKE_SOURCE_DIR}/third_party/ge/include/external/graph)
94 link_directories(${CMAKE_SOURCE_DIR}/third_party/ge/lib)
95 #elseif(ENABLE_D OR ENABLE_ACL OR ENABLE_TESTCASES)
96 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc)
97 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc/external)
98 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc)
99 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc/external)
100 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc/external/graph)
101 #endif()
102
103 #if(ENABLE_GE OR ENABLE_D OR ENABLE_ACL OR ENABLE_TESTCASES)
104 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc)
105 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc/external)
106 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc/framework)
107 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/third_party/fwkacllib/inc)
108 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/third_party/fwkacllib/inc/toolchain)
109 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc)
110 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc/external)
111 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc/external/graph)
112 endif()
重新编译提示找不到 acl/acl.h和acl/acl_tdt.h `/root/ai_framework/luojianet/luojianet_ms/ccsrc/minddata/dataset/kernels/image/dvpp/utils/MDAclProcess.h:30:10: fatal error: acl/acl.h: No such file or directory
`/root/ai_framework/luojianet/luojianet_ms/ccsrc/minddata/dataset/engine/tdt/tdt_handle.h:24:10: fatal error: acl/acl_tdt.h: No such file or directory
在当前luojienet目录查找可用找到此文件
root@ubuntu:~/ai_framework/luojianet# find ./ -name acl.h
./graphengine/inc/external/acl/acl.h
root@ubuntu:~/ai_framework/luojianet# find ./ -name acl_tdt.h
./graphengine/inc/external/acl/acl_tdt.h
ENABLE_GE OR ENABLE_D OR ENABLE_ACL OR ENABLE_TESTCASES
在执行bash build_npu.sh前,命令行首先执行: export ENABLE_ACL="off" 然后看编译情况。
感谢再次反馈。 问题在于graphengine的版本发生了变动,可NPU下将graphengine相关设置去掉后,再编译: https://github.com/WHULuoJiaTeam/luojianet/tree/master/cmake/mind_expression.cmake mind_expression.cmake中第95-112行屏蔽掉后,再重新编译
LuoJiaTeam您好 感谢回复。我按照指导编译后出现问题。具体步骤如下
将mind_expression.cmake按照安装如下方式注释
90 if(ENABLE_GE) 91 include_directories(${CMAKE_SOURCE_DIR}/third_party/ge/include) 92 include_directories(${CMAKE_SOURCE_DIR}/third_party/ge/include/external) 93 include_directories(${CMAKE_SOURCE_DIR}/third_party/ge/include/external/graph) 94 link_directories(${CMAKE_SOURCE_DIR}/third_party/ge/lib) 95 #elseif(ENABLE_D OR ENABLE_ACL OR ENABLE_TESTCASES) 96 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc) 97 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc/external) 98 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc) 99 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc/external) 100 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc/external/graph) 101 #endif() 102 103 #if(ENABLE_GE OR ENABLE_D OR ENABLE_ACL OR ENABLE_TESTCASES) 104 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc) 105 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc/external) 106 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc/framework) 107 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/third_party/fwkacllib/inc) 108 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/third_party/fwkacllib/inc/toolchain) 109 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc) 110 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc/external) 111 #include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc/external/graph) 112 endif()
重新编译提示找不到 acl/acl.h和acl/acl_tdt.h
/root/ai_framework/luojianet/luojianet_ms/ccsrc/minddata/dataset/kernels/image/dvpp/utils/MDAclProcess.h:30:10: fatal error: acl/acl.h: No such file or directory #include "acl/acl.h"
/root/ai_framework/luojianet/luojianet_ms/ccsrc/minddata/dataset/engine/tdt/tdt_handle.h:24:10: fatal error: acl/acl_tdt.h: No such file or directory #include "acl/acl_tdt.h"
在当前luojienet目录查找可用找到此文件
root@ubuntu:~/ai_framework/luojianet# find ./ -name acl.h ./graphengine/inc/external/acl/acl.h
root@ubuntu:~/ai_framework/luojianet# find ./ -name acl_tdt.h ./graphengine/inc/external/acl/acl_tdt.h
@MemoryCrash 您的问题是否已经解决?需要远程协助吗?如果还没有解决,可以将您的QQ或微信联系方式发送至: luojiawhu2022@163.com ,由我们远程协助您解决。
LuoJiaTeam您好
目前,还未解决。按照
在执行bash build_npu.sh前,命令行首先执行: export ENABLE_ACL="off"
出现查找graph/tensor.h失败的问题。 `/root/ai_framework/luojianet/luojianet_ms/ccsrc/transform/graph_ir/types.h:30:10: fatal error: graph/tensor.h: No such file or directory
已发送邮件:)
LuoJiaTeam您好
我在华为Ascend服务器源码安装LuoJiaNET V1.0.5失败,希望LuoJiaTeam能协助分析安装失败的原因。 安装步骤:参考GPU源码编译指导。先安装环境依赖,接着安装gdal(bash build_gdal_npu.sh),最后安装LuoJiaNET(bash build_npu.sh -e ascend -j 4)。
安装LuoJiaNET过程遇到如下问题。
问题1:采用NPU训练脚本,但编译过程会寻找CUDA
CMake Error at /usr/local/share/cmake-3.21/Modules/FindCUDA.cmake:859 (message): Specify CUDA_TOOLKIT_ROOT_DIR
规避方法: cmake/options.cmake中的option(ENABLE_GPU "Enable gpu" ON)修改为option(ENABLE_GPU "Enable gpu" OFF)问题2:找不到头文件。经查,未在对应目录下找到指定头文件
/root/ai_framework/luojianet/graphengine/ge/ge_runtime/model_runner.cc:18:10: fatal error: framework/ge_runtime/model_runner.h: No such file or directory #include "framework/ge_runtime/model_runner.h
`/root/ai_framework/luojianet/graphengine/metadef/inc/common/opskernel/ops_kernel_builder.h:25:10: fatal error: proto/task.pb.h: No such file or directoryinclude "proto/task.pb.h`
问题3:使用的变量未定义
/root/ai_framework/luojianet/graphengine/ge/common/dump/dump_properties.cc:146:7: error: ‘mmIsDir’ was not declared in this scope
规避方法:添加 #include "mmap/mmpa_api.h"头文件。感谢答复。