2016-12-17 92 views
2

我正在嘗試使用pocl來交叉編譯RISCV64的OpenCL程序。幻燈片18在這個鏈接:https://riscv.org/wp-content/uploads/2015/01/riscv-software-toolchain-workshop-jan2015.pdf似乎表明可以爲RISCV後端生成標量代碼。我使用pocl-0.8(基於llvm 3.3,因爲這是riscv-llvm後端的穩定版本)。爲RISCV配置pocl

我跑configure命令如下:

./configure CC=/path/to/riscv/bin/riscv64-unknown-elf-gcc CXX=/path/to/riscv/bin/riscv64-unknown-elf-g++ --host=riscv64-unknown-elf 

我得到了以下錯誤:

configure: error: unable to find the libtool dl library (usually libltdl-dev) 

,如果我爲我的原生系統(x86_64的)配置三氯氧磷我沒有得到任何錯誤。所以,我猜測我需要在上面的錯誤消息中提到的庫的RISCV變體,但我不知道如何做到這一點。我將不勝感激任何幫助。謝謝!

+0

你有什麼消息嗎?也許可以在RISC-V郵件列表上獲得進一步的支持? – Christoph

+0

在RISC-V和pocl郵件列表上沒有得到任何迴應。 – kchanuec

+0

這在您的本機系統中看起來像是問題。它是Ubuntu還是Debian?嘗試使用'sudo apt-get build-dep libpocl1'來安裝在純模式下構建pocl所需的所有包。它可以幫助你獲得交叉構建。同時檢查https://answers.launchpad.net/pocl/+question/209564 - 他們說你需要目標系統的ltdl.h。 – osgx

回答

1

您是否想在RISC-V系統上運行生成RISC-V代碼的pocl或在主機x64系統上運行它以生成RISC-V?

你的configure命令

./configure CC=riscv64-unknown-elf-gcc CXX=riscv64-unknown-elf-g++ --host=riscv64-unknown-elf 

是在RISC-V,這是很難編譯本地三氯氧磷(你需要完整的跨環境和RISC-V目標CPU /仿真器/ linux的板,libc和許多包)。甚至對於這一點也是不正確的,因爲你的主機(開始編譯pocl的機器)不是riscv,而是x64(使用--target在configure中設置目標體系結構)。

但是如果你想在x64上運行pocl,不要設置CC和CXX,主機和目標./configure運行得到原生x64 pocl。當在x64上啓動pocl時,llvm將擁有所有後端,並允許您生成RISC-V代碼。