OpenMP распараллелить случайную последовательность - PullRequest
0 голосов
/ 06 марта 2020

Я хочу распараллелить все oop, которые имеют последовательность случайных чисел, сгенерированных функцией erand48. Порядок последовательности важен, поэтому я не могу его изменить. Я попробовал это:

   #pragma omp parallel for
   for(int i=0; i<5; i++){
       printf("%f \n",erand48(vector));
   }

Но порядок последовательности изменился. Любое предложение ??

1 Ответ

1 голос
/ 06 марта 2020

Если важен порядок выполнения, вы не можете распараллелить l oop. Когда он распараллеливается, 2-я итерация может выполняться до 1-й.

Вы можете сгенерировать все ваши случайные числа, сохранить их в массиве, а затем запустить параллельную l oop для доступа к массиву.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...