Windows上的多线程程序,并发度上不去,占不满CPU,有什么方法可以查瓶颈在哪儿吗?

竞天问 河北工业大学 2020-06-23 05:36:16
我是用OpenMP做的多线程,各种schedule模式也都试过了
各个线程共用的数据结构也都复制了多份,各用个的,结果也是先各写各的,然后再合并
实在是找不到我写的代码里有哪里存在并发瓶颈了,但是我不排除使用的第三方库有锁之类的东西,但是我也没办法挨个去看代码查这些啊
有什么方法可以帮助我查这个问题吗?
...全文
253 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
竞天问 2020-07-14
问题原因和我做的尝试写在了这里:
https://blog.csdn.net/JingTianWen/article/details/107338848
回复
竞天问 2020-06-24
我是用CGAL做三维布尔运算,CGAL也依赖了GMP和MPFR这两个库,这些东西对多线程有什么影响吗?
回复
竞天问 2020-06-24
引用 3 楼 我叫侯万楼 的回复:
你需要PPL

PPL也试过几种方式,结果一样啊
所以现在我基本确定跟并发手段关系不大,和操作系统、硬件系统关系也不大,应该还是代码的问题,但是现在我肉眼可见的地方,线程间没有任何依赖,我也就纳了闷儿,感觉这些年学的知识,积累的经验都用不上了
回复
我叫侯万楼 2020-06-23
你需要PPL
回复
竞天问 2020-06-23
引用 1 楼 smwhotjay 的回复:

创建死循环线程。试试。

试过了,没有问题,符合预期,所以排除了OS、硬件的问题
回复
smwhotjay 2020-06-23

创建死循环线程。试试。
回复
发帖
其它技术问题
创建于2007-09-28

3842

社区成员

C/C++ 其它技术问题
申请成为版主
帖子事件
创建了帖子
2020-06-23 05:36
社区公告
暂无公告