Vtune 中的线程分析挂在 __kmp_acquire_ticket_lock

问题描述

我目前正在对一个用 C++ 编写的项目进行基准测试,以确定热点和线程效率,使用英特尔 VTune。正常运行程序时,它运行约 15 分钟。使用 VTune 中的热点分析,我可以看到函数 __kmp_fork_barrier 大约占用了总 CPU 时间的 40%。
所以,我也想看看线程效率,但是在VTune中启动threading-module时,根本没有启动项目,而是在__kmp_acquire_ticket_lock模式下运行时挂在Hardware event-based sampling上。相反,当以 user-mode sampling 模式运行时,项目会立即失败并出现段错误(在没有 VTune 的情况下运行并使用 valgrind 检查时不会发生这种情况)。改用 HPC performance characterization 时,VTune 会崩溃。
这些问题是 VTune 的问题,还是我的程序的问题?我怎样才能找到后者的问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)