简述:
上一个使用测试中,对Vtune的Call Graph工具有了初步认识,这里就进行实用性的测试
参数(百度百科):
MFLOPS:
Million Floating-point Operations per Second, 每秒百万个浮点操作) 衡量计算机的主要技术指标。
对于一个给定的程序, MFLOPS = 操作浮点数 / (执行时间 * 10 ^ 6)
该指标用于比较同一系统上求解同一问题不同算法的性能
步骤:
1. 现在Command 中运行一个基准程序
之后得到一组结果,
做完上面这个实验之后,需要还原linpack_c这个文件夹至实验前的模式,
2. 在Vtune中创建一个Activity, 选择Sampling Wizard,
将duration 调整为120
完成。进入Linpack_c的module显示界面,
1) 可以看到,除了matgen和 get_frequency之外clocktick samples 最多的就是daxpy函数
3. 替换原先的C版本的程序,这里使用Intel的MKL 版本
首先仍然是在命令行中,泡一下linpack_c_mkl_daxpy.exe
之后得到的输出结果,
4. 使用Vtune的Call Graph Wizard继续做测试
Call Graph 选中, 程序为linpack_c.exe,运行之后的结果:
可以看到是second这函数运行的时间最长,点入这个函数
5. 之后测试一下linpack_mkl.exe这个程序
首先在命令行下跑linpack_mkl,.exe
运行之后的结果如下,
三个程序
linpack_c.exe
linpack_c_mkl_daxpy.exe
linpack_mkl.exe
运行之后看到吗, Mflops 最大的认识linpack_mkl.exe的结果5809.04, 性能最好