Ошибка зависимости OpenACC

Пожалуйста, мне нужна помощь здесь:

    void RBM::sample_v_given_h(int *h0_sample, double *mean, int *sample) {

int c = 0;
double r;

for(int i=0; i<n_visible; i++) {
mean[i] = propdown(h0_sample, i, vbias[i]);if(mean[i] < 0 || mean[i] > 1)
sample[i] = 0;
else{
r = rand() / (RAND_MAX + 1.0);
if (r < mean[i]) c++;

sample[i] = c;
}
}
}

когда я использую rand () для генерации случайного числа, как в предыдущем примере, компилятор PGI выдает мне ошибку:

  Procedures called in a compute region must have acc routine information: rand (./RBM.cpp: 166)

или как следует

   Accelerator restriction: call to 'rand' with no acc routine

когда я вызываю функцию, которая имеет rand ()

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]