llvm polly,亲自测试

1)下载并安装

Polly - Getting Started

git clone https://github.com/llvm/llvm-project.git

大概需要半个小时,有时候被墙掉就打不开

2)

mkdir build && cd build
cmake '-DLLVM_ENABLE_PROJECTS=clang;polly' ../llvm
cmake --build .

先cmake一下

应该就是make吧

3)

cmake --build . --target check-polly

这个命令没有测试过

4)

bin/clang -O3 -mllvm -polly hello.c

这个马上测试一下

5)clang安装成功了

a@a:~/src$ which clang
/home/a/src/llvm-project/build/bin/clang
 

6)有个polly-isl-test

7)llvm中文件夹有polly

a@a:~/src/llvm-project$ ls
bolt   clang-tools-extra   compiler-rt          flang     libc    libcxxabi    lld   llvm-libgcc  openmp          README.md    third-party
build  cmake               CONTRIBUTING.md      flang-rt  libclc  libunwind    lldb  mlir         polly           runtimes     utils
clang  CODE_OF_CONDUCT.md  cross-project-tests  install   libcxx  LICENSE.TXT  llvm  offload      pyproject.toml  SECURITY.md
 

8)编译GEMM

a@a:~/src/a3.llvm.polly/a1.polybench-c-4.2/linear-algebra/blas/gemm$ clang -O3 gemm.c -o a1.o3
gemm.c:18:10: fatal error: 'polybench.h' file not found
   18 | #include <polybench.h>
      |          ^~~~~~~~~~~~~
1 error generated.
 

出错了,没有polybench.h

8.1)解决方法

a@a:~/src/a3.llvm.polly/a1.polybench-c-4.2$ find ./ -name polybench.h
./utilities/polybench.h
 

9)

 clang -I/home/a/src/a3.llvm.polly/a1.polybench-c-4.2/utilities -O3 gemm.c  -o a1.o3
/usr/bin/ld: /tmp/gemm-ea247d.o: in function `main':
gemm.c:(.text+0x1c): undefined reference to `polybench_alloc_data'
/usr/bin/ld: gemm.c:(.text+0x2e): undefined reference to `polybench_alloc_data'
/usr/bin/ld: gemm.c:(.text+0x40): undefined reference to `polybench_alloc_data'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
 

还有个什么库吗?

10)查看README

gcc -I utilities -I linear-algebra/kernels/atax utilities/polybench.c linear-algebra/kernels/atax/atax.c -o atax_base

这个确实可以编译成功

测试是成功的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值