c – OpenMP – 并行代码运行并行代码

我有一个函数compute(),它使用OpenMP在其中并行化矩阵乘法
#pragma omp parallel for

这个函数在一个循环中被多次调用,我想并行运行.
在其他并行代码中运行并行代码是否存在任何问题?

这是在Ubuntu上编译的.

解决方法

它可以正常工作,但您需要启用OpenMP嵌套才能正常工作.

呼叫

omp_set_nested(1);

在程序开始时,它将允许您嵌套并行区域.

但是,请注意,你可能会比你想要的更多的线程运行.所以你想要限制顶部和内部平行区域的线程数.

相关文章

/** C+⬑ * 默认成员函数 原来C++类中,有6个默认成员函数: 构造函数 析构函数 拷贝...
#pragma once // 1. 设计一个不能被拷贝的类/* 解析:拷贝只会放生在两个场景中:拷贝构造函数以及赋值运...
C类型转换 C语言:显式和隐式类型转换 隐式类型转化:编译器在编译阶段自动进行,能转就转,不能转就编译...
//异常的概念/*抛出异常后必须要捕获,否则终止程序(到最外层后会交给main管理,main的行为就是终止) try...
#pragma once /*Smart pointer 智能指针;灵巧指针 智能指针三大件//1.RAII//2.像指针一样使用//3.拷贝问...
目录<future>future模板类成员函数:promise类promise的使用例程:packaged_task模板类例程...