boo*_*toT 4 multithreading c++11
这是我的另一个问题的后续。
我想知道带有归约操作的并行循环(例如并行集成)是否属于 C++11 线程的适用范围,或者 OpenMP 是否最适合此类任务。
现在,考虑相同的设置,但线程执行可能引发异常的计算。它会改变场景吗?现在 C++11 线程最适合吗?
谢谢。
IMO,对于任何 HPC/科学和工程计算代码,我更喜欢 OpenMP。它更直接地针对数据并行性。C++11 线程代表更多的任务并行性,这对于其他类型的软件(例如网络服务器应用程序)来说是更可取的。
未来情况可能会改变,人们正在努力将更多的并行性集成到C++中,例如并行STL算法。然而,我们现在甚至不知道这种并行性会是什么样子。
您也很少从头开始构建代码。有许多支持 OpenMP(排序、线性代数等)的性能感知多线程库,但支持 C++11 线程的库很少。
| 归档时间: |
|
| 查看次数: |
2735 次 |
| 最近记录: |