Настройка pocl для RISCV
Я пытаюсь использовать pocl для кросс-компиляции программ OpenCL для RISCV64. Слайд 18 по этой ссылке: https://riscv.org/wp-content/uploads/2015/01/riscv-software-toolchain-workshop-jan2015.pdf видимому, дает возможность создания скалярного кода для бэкэнда RISCV., Я использую pocl-0.8 (на основе llvm 3.3, так как это стабильная версия для бэкэнда riscv-llvm).
Я выполнил команду настройки следующим образом:
./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)
Я не получаю никакой ошибки, если я настраиваю pocl для моей родной системы (x86_64). Итак, я предполагаю, что мне нужен вариант библиотеки RISCV, упомянутый в сообщении об ошибке выше, но я не уверен, как это сделать. Буду признателен за любую помощь в этом. Спасибо!
1 ответ
Вы хотите запустить pocl в системе RISC-V, генерирующей код RISC-V, или запустить его в системе хоста x64 для генерации RISC-V?
Ваша команда настройки
./configure CC=riscv64-unknown-elf-gcc CXX=riscv64-unknown-elf-g++ --host=riscv64-unknown-elf
для компиляции нативного pocl на RISC-V, что сложно (вам нужна полная кросс-среда и RISC-V target cpu/emulator/board с linux, libc и многими пакетами). И даже для этого это неверно, так как ваш хост (машина, на которой вы запускаете компиляцию pocl) - это не riscv, а x64 (используйте --target
установить целевую архитектуру в настройках).
Но если вы хотите запустить pocl на x64, не устанавливайте CC и CXX, host и target в ./configure
запустить, чтобы получить родной x64 pocl. У llvm будет весь бэкэнд, и он позволит вам генерировать коды RISC-V при запуске pocl на x64.