編譯AI處理器編譯器

本文主要是在編譯AI處理器編譯器的過程說明及遇到的問題整理
這是我入職以後的學習筆記,已經屏蔽了所有和商業有關的關鍵字,若造成影響請告知。

準備

  1. ssh到工作節點,安全性輸入yes,密碼輸入自己賬戶密碼。

  2. 注意,代碼開發工作要放到/自己用戶名路徑/下邊。

  3. 需要配置環境變量:

   source /arm/tools/setup/init/tcsh
   module load core platform/lsf/10.1sp4
   module load core arm/cluster/2.0
   module load eda synopsys/scl/2017.12
   module load swdev python/python/3.6.1
   module load swdev
   module load gnu/gcc/7.3.0
   
   setenv PATH /usr/local/cuda/bin:/usr/local/cuda/lib64:/自己用戶名路徑/workarea/tools/gdb-8.3/bin:/自己用戶名路徑/workarea/tools/cmake-3.14.4/bin:/自己用戶名路徑/workarea/tools/python/bin:$PATH
   
   setenv LD_LIBRARY_PATH /usr/local/cuda/lib64:/自己用戶名路徑/workarea/tools/gdb-8.3/lib:/自己用戶名路徑/workarea/tools/gcc-8.1.0/lib:/自己用戶名路徑/workarea/tools/gcc-8.1.0/lib64:$LD_LIBRARY_PATH
   
   Setenv CC which gcc
   
   Setenv CXX which g++
   
   Setenv PYTHONE which python

編譯命令

  1. configuration

    cmake ../src/ -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD="AIPU"

  2. make

    make

遇到的問題

  1. 使用make -j選項編譯之後,編譯失敗,提示:g++ error: vfork resource temporarily unavailable.

    未解決:初步估計應該是我賬戶權限不足,當啓動多線程加速編譯時,會提示資源受限,使用make進行編譯,不會出現這樣的問題,但是編譯非常慢。

    初步解決:使用-j選項是表示使用最多的線程進行工作,當我使用make -j 4時,使用4線程編譯通過。

  2. 編譯之後,生成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 : 這樣生成的是彙編文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章