これが乱数の生成の並列化を悪化させる可能性があるのではないかと思います。ここではQtとQtConcurrentを使用しています。N個の数値を連続して生成する代わりに並列化を使用する価値はありますか?生成された数の臨界数はどれですか?私のコードはここにあり、並列化されていません:
double** sampled = Matrix::allocMatrice(n,m_ndim,true);
Random* generator_ = new Random();
generator_->newSeed();
double* temp_;
for(int k=0;k<n;k++)
{
for(int j=0;j<m_ndim;j++)
{
sampled[k][j] = generator_->run(lower[j],upper[j]);
}
}
whre Randomは、Marsaglia生成方法に従った自家製のランダムジェネレーターです。
ありがとう、よろしく。