在使用pip安装pycuda的时候可能会遇见好几种报错
1.找不到cuda.h头文件
首先是最常见的
src/cpp/cuda.hpp:14:10: fatal error: cuda.h: No such file or directory
#include <cuda.h>
^~~~~~~~
compilation terminated.
error: command 'aarch64-linux-gnu-gcc' failed with exit status 1
遇见这种报错是因为找不到cuda.h文件,然而这个文件在jetson是可以找到的,默认放在了cuda的文件夹里
/usr/local/cuda-10.2/targets/aarch64-linux/include
所以只需要手动将路径添加到LIBRARY_PATH即可,指令如下
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-10.2/targets/aarch64-linux/libexport
export CPATH=$CPATH:/usr/local/cuda-10.2/targets/aarch64-linux/include
2.numpy版本不匹配
第二种可能遇见的报错是
numpy/core/src/multiarray/numpyos.c:18:10: fatal error: xlocale.h: 没有那个文件或目录![]()
遇到这个报错是因为numpy的版本不匹配,使用pip安装pycuda的依赖库numpy版本默认为较新的版本。
旧的版本(我使用的16.6)中numpy/core/的目录中根本没有src,这样自然找不到文件,而最新的numpy1.20.2是有这个目录的。
所以尝试升级numpy后再安装pycuda,结果遇到了新的报错说和使用的tensorflow1.15.5冲突,因为后者需要numpy< 1.19。
所以思考之后选择安装先前版本的pycuda,这样不会需要较新的numpy也不和tensorflow冲突。
在pycuda的发布历史中可以查询到先前版本,然后使用
sudo pip install pycuda==2019.1.2 --user
就ok了。
版权声明:本文为MalusJiang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。