一个利用Openmp优化程序的问题

lishengjie 2010-10-09 09:59:59
我用openmp写了一个例程,比较优化前后的性能。
核心算法是一个4x4的矩阵乘法,调用2000000次。
我使用
#pragma omp parallel for
for(int i = 0;i<2000000;++i)
DoTest();

发现openmp消耗的时间比,普通的串行多很多。

使用vs2008 sp1
有高手给点建议么?
...全文
133 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lishengjie 2010-10-11
  • 打赏
  • 举报
回复
解决部分问题,至少现在并行比串行快,但还没看到能快2倍。子函数里事情做多了,只保留计算部分即可。
shayla 2010-10-09
  • 打赏
  • 举报
回复
1:不知道你的机器是不是多核的.
2:可以打出线程ID看是否有多个线程在执行
lishengjie 2010-10-09
  • 打赏
  • 举报
回复
双核,两个线程在跑。我感觉可能是4x4的矩阵乘法的运算量不大,消耗在线程上的开销比真实运算大。
但问题是,大量的小任务计算,如何通过并行来加速呢?

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧