共 1,304 篇文章
共 6,317 篇文章及评论
博客分类
Blog Roll
- Association for Computing Machinery TechNews (ACM)
- Go Parallel! (Dr. Dobbs)
- HPCwire (Tabor Communications, Inc.)
- insideHPC (John West)
- Joe Duffy's Weblog (Microsoft)
- Microsoft Parallel Programming Development Center (Microsoft Germany)
- MultiCoreInfo.com
- scalability.org (Scalable Informatics)
- Software Dev Blog (Intel Germany)
- Soft Talk Blog (Intel United Kingdom)
- The Moth (Microsoft)
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
标签:debugger OpenMP
如需了解英特尔软件产品相关的性能和优化选项,请参阅优化注意事项.
评论 (4)
| 2009年03月27日 21:02
菜鸟提问 | 这是把一个线程的程序变成多线程运行吗? |
| 2009年03月27日 21:03
菜鸟提问 | 我在我的VS里找不到相应的选项.. |
| 2009年03月27日 21:27
甘驰 (Intel)
|
OpenMP是一种实现多线程的方法,本例是对OpenMP的多线程程序的调试。 这些不是VS的功能,你需要安装Intel Parallel Composer。 |
引用 (0)
写评论 
欲获得技术支持,请访问软件支持页面.







菜鸟提问