GCC上的OpenMP目标指令的结果

时间:2017-12-24 16:16:27

标签: c++ gcc openmp

我正在使用GCC编译以下程序,该程序使用OpenMP的目标指令将工作卸载到GPU:

#include <iostream>
#include <cmath>

int main(){
  const int SIZE = 400000;

  double *m;
  m = new double[SIZE];

  #pragma omp target teams distribute parallel for
  for(int i=0;i<SIZE;i++)
    m[i] = std::sin((double)i);

  for(int i=0;i<SIZE;i++)
    std::cout<<m[i]<<"\n";
}

我的编译字符串如下:

g++ -O3 test2.cpp -fopenmp -omptargets=nvptx64sm_35-nvidia-linux

编译成功,但是很安静。

使用PGI + OpenACC,我习惯了一系列输出,告诉我编译器实际上对指令做了什么,如下所示:

main:
  8, Accelerator kernel generated
     Generating Tesla code
     11, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */
  8, Generating implicit copyout(m[:400000])

如何从GCC获取类似信息? -fopt-info-all是一团糟。

0 个答案:

没有答案