PoCL と LLVM
PoCLLLVM
2023-8-22 0:25 JST

手元のサーバ(Ubuntu Desktop 22.04 だけど)のバージョンアップに伴いLLVM を含めて PoCL もコンパイルする。

Ubuntu Desktop 22.04

LLVM は普通にインストールすると Ver 15 だった。本当は 16 を入れたい。ここをみると apt を追加すれば良さそう。ここに方法が書いてあった。

丸写し

$ curl -fsSL https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor -o /etc/apt/keyrings/llvm.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/llvm.gpg] http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main" | tee /etc/apt/sources.list.d/llvm.list > /dev/null
$ apt install clang-16 llvm-16 lld-16 lldb-16

LLVM のサププロジェクト

ここによくまとまっている。面白そうなものをピックアップする。

LLVM 16 自分で入れる

cmake -DLLVM_USE_LINKER=lld \
    -DLLVM_ENABLE_RTTI=ON \
    -DLLVM_ENABLE_EH=ON \
    -DCMAKE_INSTALL_PREFIX=~/Work/root \
    -DLLVM_ENABLE_PROJECTS=lld;clang;polly" \
    -DBUILD_SHARED_LIBS=ON \
    -DCMAKE_BUILD_TYPE=Debug \
    -G Ninja ../llvm

Debug にすると PoCL のコンパイルがすごく遅くなるのに注意。PoCL にはBUILD_SHARED_LIBS が必要だった。

PoCL4.0 もbuild

cmake -DCMAKE_INSTALL_PREFIX=~/Work/root -DENABLE_CUDA=ON -GNinja ..

LLVM_CONFIG_PATH だけ設定してもだめだったので、PATH に ~/Work/root/bin を追加した。

Polyhedral モデル

Polly というのがあるみたいね。ubuntu の apt でも入れられるみたい。

リンク集