可以安全地将 OpenMP 并行循环与犰狳一起使用吗?

计算科学 C++ 并行计算 犰狳
2021-12-18 05:51:03

我有一个 C++ 代码在循环中执行一些犰狳计算。我想将此循环与OpenMP并行化。犰狳自动使用OpenMP进行一些计算。那么,如果我不禁用自动Armadillo并行化, OpenMP并行化循环会导致问题吗?或者我可以安全地使用并行循环而不禁用它吗?

1个回答

允许嵌套使用 OpenMP。但是,默认情况下,第二级只会获得一个线程。如果你没问题,你现在很好。如果您也希望嵌入式级别也是并行的,请设置环境变量OMP_NESTED=true或函数调用omp_set_nested(1)