相关疑难解决方法(0)

增强RNG的线程安全性

我有一个循环,应该通过insering一个openmp pragma很好地并行化:

  boost::normal_distribution<double> ddist(0, pow(retention, i - 1));
  boost::variate_generator<gen &, BOOST_TYPEOF(ddist)> dgen(rng, ddist);
  // Diamond                                                                
  const std::uint_fast32_t dno = 1 << i - 1;
// #pragma omp parallel for
  for (std::uint_fast32_t x = 0; x < dno; x++)
    for (std::uint_fast32_t y = 0; y < dno; y++)
      {
        const std::uint_fast32_t diff = size/dno;
        const std::uint_fast32_t x1 = x*diff, x2 = (x + 1)*diff;
        const std::uint_fast32_t y1 = y*diff, y2 = (y + 1)*diff;
        double avg =
          (arr[x1][y1] + arr[x1][y2] + …
Run Code Online (Sandbox Code Playgroud)

c++ boost openmp boost-random

4
推荐指数
1
解决办法
3228
查看次数

标签 统计

boost ×1

boost-random ×1

c++ ×1

openmp ×1