Я хочу создать одномерный массив размером (10 ^ 7) и хочу заполнить его случайным образом. Можно ли создать 10 массивов размером 10 ^ 6 каждый, заполнить их случайным образом, а затем объединить в один массив с помощью OpenMP?
std::random_device rd{};
std::mt19937 rng{rd()};
std::bernoulli_distribution distribution(p);
int array_size = 10000000, N = 50;
array = new uint64_t[array_size];
#pragma omp parallel
{
#pragma omp parallel for
for(int i = 0; i < (array_size); i++){
uint64_t rn = 0;
for(int j = 0; j < N; j++){
rn = ((rn<<1)+(distribution(rng)?1:0));
}
array[i] = rn;
}
}