37 lines · plain
1.. _omp130:2 3Removing unused state machine from generic-mode kernel. [OMP130]4================================================================5 6This optimization remark indicates that an unused state machine was removed from7a target region. This occurs when there are no parallel regions inside of a8target construct. Normally, a state machine is required to schedule the threads9inside of a parallel region. If there are no parallel regions, the state machine10is unnecessary because there is only a single thread active at any time.11 12Examples13--------14 15This optimization should occur on any target region that does not contain any16parallel work.17 18.. code-block:: c++19 20 void copy(int N, double *X, double *Y) {21 #pragma omp target teams distribute map(tofrom: X[0:N]) map(tofrom: Y[0:N])22 for (int i = 0; i < N; ++i)23 Y[i] = X[i];24 }25 26.. code-block:: console27 28 $ clang++ -fopenmp -fopenmp-targets=nvptx64 -O2 -Rpass=openmp-opt omp130.cpp29 omp130.cpp:2:1: remark: Removing unused state machine from generic-mode kernel. [OMP130]30 #pragma omp target teams distribute map(tofrom: X[0:N]) map(tofrom: Y[0:N])31 ^32 33Diagnostic Scope34----------------35 36OpenMP target offloading optimization remark.37