OpenMP вызывает функцию для разгрузки в GPU - PullRequest
0 голосов
/ 23 октября 2019

У меня есть код примерно такой:

void foo(arr1,arr2,x,y,cnt1)
{int p[10]; 
  #pragma omp target data map (to: arr1, arr2, x, y, cnt1) map(tofrom: p)
   #pragma omp target teams distribute parrallel for colapse(12)    
     for ........{
      for ......{
       ...............{   // 12 for loops
       int arr3[50];
         for (i=1; i<13; i++){
            arr3 [ arr1[i] ] = arr3 [ arr[1] ] + 1;
             }
         for (j=1; j<13; j++)              
          if (arr3[j] == 10) p[1]=1;   // here is the problem 
      }
     }
    }
  }

 for (x=1; x<10; x++){
  for (y=1; y<10; y++){     
  some code here ......
   array arr1 is always the same, arr2 and variable cnt1 are updated (different every time)
    foo(arr1,arr2,x,y,cnt1);

    }
   }

Проблема в том, что код зависает в цикле for.

Может кто-нибудь помочь мне, пожалуйста?

...