微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

这是在Ubuntu上编译的.

解决方法

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

呼叫

omp_set_nested(1);

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

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

原文地址:https://www.jb51.cc/c/114793.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐