Intel Thread Checker学习

网址 http://www.intel.com/cd/software/products/asmo-na/eng/threading/219785.htm

可在上面下载 30 天试用版。

Intel Thread Checker 来检查( 多线程计算 PI 碰到的问题 ),极其简单!

Thread Checker 运行界面同 VTune 差不多,如果有 VTune 经验的话,非常容易上手的。

1、 运行 Thread Checker

2、 New Project

3、 New Project 对话框中,在 Category 下拉框里选择 Threading Wizards ,在下面的 List View 中选择 Intel? Thread Checker Wizard ,然后 OK 。对话框的下面,你可以设置一下 Project Name Project Location

4、 Intel® Thread Checker Wizard 对话框中,选择 application 的地址。在这里你可以设置 command line arguments ,我们这里只要默认就可以了。其它都是选默认值。对了,记得选择 Debug 版本的 application ,否则在下一步无法 track 到源代码等很多信息。然后 Finish

5、 这个时候你就会看到 Thread Checker 在分析你的程序了。对了,计算 PI 的那个 iteration 记得要设的小一点,否则运行速度极其慢!第一次我使用的是 10000000 ,结果运行了 7 分钟还基本看不到要结束的样子。遂结束它,改成 100 ,瞬间产生结果!

拿一行结果来分析一下,主要的是以下两项:

Short Description: Read -> Write data-race

Description: Memory write at "pi.cpp":17 conflicts with a prior memory read at "pi.cpp":17 (anti  dependence)

Short Description 表明了是什么问题,从上面可以看出是线程之间读写数据竞争! Description 描述了详细信息, track 到了问题发生在哪一行!这个很强也很赞!而且,另一个非常好用的功能是直接双击那一行, Thread Checker 就会为你直接切换到源代码!很 Cool

GL & HF.

你可能感兴趣的:(Intel Thread Checker学习)