多核实验-Intel Parallel Studio XE 综合应用

  • 格式:doc
  • 大小:604.50 KB
  • 文档页数:6

实验五 Intel Parallel Studio XE 综合应用
一、实验目的
1、掌握Introduction to Guided Auto-parallelization功能、特点和基本使用方法;
2、掌握使用OpenMPIntel Parallel Studio工具将串行程序转换为并行程序的方法
二、预备知识
1.掌握C/C++语言
2.掌握Intel Parallel Studio XE环境的使用
3.掌握使用Parallel Advisor
4.掌握Intel Parallel Studio XE和Microsoft Visual Studio 2005使用方

三、实验条件
硬件
a.Intel多核处理器
b.大于1G内存
c.大于20G硬盘
软件
a.Intel Parallel Studio XE 2011
b.熟练掌握C/C++语言
c.掌握Microsoft Visual Studio 2005的开发环境使用;
d.性能优化和给予多核编程的基本概念;
四、实验步骤和结果
1)根据Guided Auto-parallelization给出的建议来进行程序代码的修改,给
出修改代码片段以及结果。

Guided Auto-parallelization主要功能:引导自动并行化(GAP),是英特尔®C++编译器提供一个功能,并在正确应用时,自动矢量化或自动并行化串行代码。

编译器的属性应使用选项/ O2或更高/ Qguide选项,以使GAP的技术来自动生成矢量化的程序。

同时,可结合/ Qparallel和/ Qguide选项来使编译器自动并行化程序。

根据上面给出的提示,修改代码,让编译器自动并行化程序。

代码
运行结果
2)使用ippcompress压缩文件的几种不同算法,并比较压缩效果。

并对比gzip
和ipp的gzip的压缩时间。

数据压缩算法有:Burrows-Wheeler Transform (BWT), Move-To-Front Transform (MTF),,运行长度编码(RLE),Huffman编码,广义区间变换(GIT)和基于字典的
Lempel-Ziv-Storer-Szimanskiy(LZSS)压缩方法。

1、ippcompress -huffman -5 omg.txt omg.bf
2、ippcompress -bwt -5 omg.txt omg.bwt
3、ippcompress -gzip -6 omg.txt omg.gz
实验结果分析:用-huffman压缩方法的效果相对比较差;用-bwt和-gzip压缩效果都较-huffman好,效果接近。

3)使用intel提供的MKL来进行矩阵求解。

运行求解PI的计算程序pimonte.c
和使用了MKL的矢量统计库VSL的程序pimonte_VSL.c,比较计算时间,并
体会VSL的多线程能力。

设置编译器支持MKL
然后使用intel c++编译器进行编译:
使用intel提供的MKL来进行矩阵运算:
LAPACKE_sgels( LAPACK_ROW_MAJOR, 'N', m, n, nrhs, a, lda,b, ldb )
4)识别matrix中的硬件性能瓶颈问题,然后使用不同的multiply方法进行计
算,同时分析程序中的热点问题以及分析报告中的一些参数指标的变化。

matrix程序有以下的问题
这是一些参数指标:
CPI (Clockticks per Instructions Retired) Rate
Retire Stalls
LLC Miss
LLC Load Misses Serviced by Remote DRAM
Execution Stalls
Data Sharing
识别硬件问题
CPI Rate: 潜在原因是内存的延迟,指令饥饿、分支的错误预测,或长时间的延迟指令。

定义你的代码的原因,探索其他度量的自下而上的窗口。

用multiply1函数
改进算法: 用multiply2函数替换multiply1函数
实验结果分析:算法替换以后执行时间缩短了,CPIrate下降了,执行效率有所提升。

五、实验小结
这次试验使我学会了根据Guided Auto-parallelization给出的建议来进行程序代码的修改,并行优化程序。

了解了使用ippcompress压缩文件的几种不同算法,试验中通过并比较压缩效果判比他们各自的优劣,并对比了gzip
和ipp的gzip的压缩时间。

对 Math Kernel Library有了初步认识,会使用其中的函数进行各种矩阵运算。

学会了使用基于事件采样分析的工具Intel® VTune™ Amplifier XE来识别会影响程序性能的主要的硬件问题.实验使我们对于intel的多核技术应用最新成果有了更多的认识,可以将所学到的知识应用到实际应用中去。