Debugger Extension (续二)

作者: 甘驰 (Intel) (20 篇文章) 日期: 三月 20, 2009 在 12:41 下午

因为OpenMP是将循环的计算多线程化,所以data sharing event一般都在某行/段代码反复发生,这会影响纠错工作,你不会希望看100000...次同一个事件。event filter 能帮你滤掉已知或暂不关心的事件。

下图显示怎样滤掉发生在某个函数中的thread data sharing事件

下图显示怎样滤掉发生在某个变量上的thread data sharing事件

 当你设完后,在thread data sharing filter窗口中见它们,及其状态。

 

 如下图所示, 我已打开事件监测和stop on event, 并设定两个filters。似乎程序运行到 nrOfSolutions ++时不该暂停,因为关于nrOfSolutions的filter应忽略该事件。不幸的是,程序暂停了, 原因是在非debug状态时debugger缺少相关信息无法激活filter。

 请右击该filter,选择“Reevaluate”,debugger会激活该filter,程序将如你所愿,忽略该事件并继续运行。(Tip)或在debug状态下,程序暂停时设filter,那时filter被立即激活。

分类: 并行计算, 英特尔® 软件网络 2.0
标签:

如需了解英特尔软件产品相关的性能和优化选项,请参阅优化注意事项.

 评论 (4)

2009年03月27日 21:01


菜鸟提问
这是把一个线程的程序变成多线程运行吗?
2009年03月27日 21:02


菜鸟提问
这是把一个线程的程序变成多线程运行吗?
2009年03月27日 21:03


菜鸟提问
我在我的VS里找不到相应的选项..
2009年03月27日 21:27

甘驰 (Intel)
甘驰 (Intel)总分:
1,945
棕带
OpenMP是一种实现多线程的方法,本例是对OpenMP的多线程程序的调试。

这些不是VS的功能,你需要安装Intel Parallel Composer。

 引用 (0)


 写评论  

欲获得技术支持,请访问软件支持页面.
姓名 (必填)*

电子邮件 (必填,不在本页面显示)*

您的 URL (可选)


评论*