我读到 clang 编译器可以将 OpenMP 区域卸载到 GPU。但是,我对用clang编译代码的方式感到困惑。我们集群中安装的 clang 版本是 3.9.0(tags/RELEASE_390/final 288133)。我要卸载的代码基本上是矩阵矩阵乘法:
#pragma omp target parallel for shared(C,P,T) private(i,j,k)
for (i=0; i<N; i++) {
for (j=0; j<N; j++) {
for (k=0; k<N; k++) {
C[i][j] += P[i][k]*T[k][j];
}
}
}
我正在编译
clang -O3 -fopenmp-targets=x86_64-unknown-linux-gnu mm.c
clang-3.9: warning: argument unused during compilation: '-fopenmp-targets=x86_64-unknown-linux-gnu'
我不知道我安装的 clang 版本是否能够将代码卸载到 GPU 上,如果可以,我该怎么做。欢迎任何评论。