为什么用openmp编程,不管写什么样的测试程序,多线程都比单线程慢!!!!!!CPU是四核八线程的

[复制链接]
查看11 | 回复1 | 2021-1-27 08:21:57 | 显示全部楼层 |阅读模式
为什么用openmp编程,不管写什么样的测试程序,多线程都比单线程慢!!!!!!CPU是四核八线程的
#include
#include

voidtest02()
{
for(inti=0;i -->
回复

使用道具 举报

千问 | 2021-1-27 08:21:57 | 显示全部楼层
看你的描述,开发工具提供的C++编译器应该支持OpenMP。从案例程序也可看不出毛病。你需要检查程序运行时有几个逻辑核(一个线程占用一个逻辑核)被占用了。如果仍只有一个核被占用,则说明#pragmaompparallelfor没起作用,程序压根没有并行迭代,需查找其它原因。
建议多看几个网上的有关#pragmaompparallelfor用法,是否是否违背了OpenMP默认的任务拆分原则和一些限制条件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行