无法使用将来的类和C ++线程加快速度

时间:2019-02-27 23:59:54

标签: c++ parallel-processing pthreads

我正在尝试编写康威生活游戏的平行版本。我可以将所有内容编译并正确运行,但看不到任何加速。我有一个模拟人生课程,我想分成4代,可以并行完成。

`future<vector<vector<int> > > first_quarter = async(launch::async, [&]{ 
        return GameOfLife_parallel::SimulateLife(
            board, 0, (life_cycles/4));});
 future<vector<vector<int> > > second_quarter = async(launch::async, [&]{
        return GameOfLife_parallel::SimulateLife(
            new_board = first_quarter.get(), (life_cycles/4),(life_cycles/2));});`

这是基本思想,我试图将世代划分为4个独立的线程。我认为问题在于,对于每个连续的季度,我都需要在上一次迭代中调用get(),这实际上使得并行可以忽略不计。无论如何,还是我可以看到明显的加速?

0 个答案:

没有答案