c++ - omp_set_max_active_levels() 和函数调用

标签 c++ c multithreading openmp

任何人都知道 omp_set_max_active_levels() 的范围,假设函数 A 有一个 omp 并行区域,并且在该区域中,A 的每个线程调用库函数 B,在库函数 B 中有 2 个级别的 omp 并行性。

那么,如果我们将函数A中的active omp level设置为3(A中为1,B中为2),是否可以保证库函数B的并行区域正常工作?

最佳答案

如果从事件并行区域内调用 omp_set_max_active_levels(),则将(应该)忽略该调用。

关于c++ - omp_set_max_active_levels() 和函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18435425/

相关文章:

c++ - libgit2 - 两个文本 blob 的差异

python - 如何在Python的main函数中处理从线程函数返回的数据

c++ - 在使用 boost 的多线程 c++ 程序中,有没有办法获取指向当前线程的指针?

c++ - 是否可以在解压缩列表后使用类型名称作为模板参数?

c++ - 原子变量的 vector (数组)

c++ - 我是否正确实现了这一点?

c++ - 在不断增长的 vector 中返回对元素的引用是不好的做法吗?

c - C 中的 float 与预期略有不同

c - C语言图案打印

c++ - 一个线程Boost的死锁