本文主要是在编译AI处理器编译器的过程说明及遇到的问题整理
这是我入职以后的学习笔记,已经屏蔽了所有和商业有关的关键字,若造成影响请告知。
准备
-
ssh到工作节点,安全性输入yes,密码输入自己账户密码。
-
注意,代码开发工作要放到
/自己用户名路径/
下边。 -
需要配置环境变量。
编译命令
-
configuration
cmake ../src/ -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD="AIPU"
-
make
make
遇到的问题
-
使用
make -j
选项编译之后,编译失败,提示:g++ error: vfork resource temporarily unavailable
.未解决:初步估计应该是我账户权限不足,当启动多线程加速编译时,会提示资源受限,使用
make
进行编译,不会出现这样的问题,但是编译非常慢。初步解决:使用
-j
选项是表示使用最多的线程进行工作,当我使用make -j 4
时,使用4线程编译通过。 -
编译之后,生成
clang-8
,使用该编译器对c程序进行编译,提示:`error: unable to create target: ‘No available targets are compatible with triple"x86_64-unknown-linux-gnu"’解决:编译器运行未指定target,应该按以下方式运行:
./clang --target=aipu -emit-llvm -S test.c
: 这样生成的是.ll后缀文件./clang --target=aipu -O0 -S test.c
: 这样生成的是汇编文件