TBB concurrent_vector with openmp
TBB concurrent_vector with openmp
我们可以使用TBB concurrent_vector与openmp吗?
允许并发更新吗?
是的,TBB的并发数据结构是线程安全的,这意味着任何线程范式,如OpenMP、TBB、Cilk、PPL等,都可以使用TBB的并发数据结构。这是因为concurrent_vector
只是一个数据结构类,而不是与线程相关的控制代码。
此外,TBB的互斥锁也可以在OpenMP, Cilk和PPL中使用。
根据Intel网站上concurrent_vector页面的1.11节,增量增长、有限增长和将新对象压入都是线程安全的操作。
还指出,添加新元素不会使现有迭代器失效。
所有这些结合起来意味着你应该能够安全地使用openmp多线程访问concurrent_vector。
相关文章:
- OpenMP阵列性能较差
- OpenMP卸载说'fatal error: could not find accel/nvptx-none/mkoffload'
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- Problems with std::cin.fail()
- OpenMP:并行更新数组总是需要减少数组吗
- 如何使用OpenMP并行这两个循环
- 从python调用openMP共享库时,未定义opnMP函数
- Qimage setPixel with openmp 并行 for 不起作用
- 在Visual Studio中使用OpenMP with Clang和CMake
- "Segfault using proj4 with OpenMP"或"How to use thread-specific globals with OpenMP"
- OpenMP 4.5 on Windows with Clang, CMake & Ninja
- paralelizing for loop with inequality (openmp c++)
- Openmp with ofstream and system command
- OpenMP with clang
- TBB concurrent_vector with openmp
- Makefile with OpenMP:不能用-c、-S或-E指定多个文件的-o
- pointers with OpenMP
- Parallel programming in c++ with openmp
- Using openmp with odeint
- Viterbi algorithm with OpenMP