多核实验IntelParallelStudioXE综合应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多核实验IntelParallelStudioXE综合应用

实验五 Intel Parallel Studio XE 综合应用 一、实验目的 1、掌握Introduction to Guided Auto-parallelization功能、特点和基本使用方法; 2、掌握使用OpenMPIntel Parallel Studio工具将串行程序转换为并行程序的方法 二、预备知识 掌握C/C++语言 掌握Intel Parallel Studio XE环境的使用 掌握使用Parallel Advisor 掌握Intel Parallel Studio XE和Microsoft Visual Studio 2005使用方法 三、实验条件 硬件 Intel多核处理器 大于1G内存 大于20G硬盘 软件 Intel Parallel Studio XE 2011 熟练掌握C/C++语言 掌握Microsoft Visual Studio 2005的开发环境使用; 性能优化和给予多核编程的基本概念; 四、实验步骤和结果 根据Guided Auto-parallelization给出的建议来进行程序代码的修改,给出修改代码片段以及结果。 Guided Auto-parallelization主要功能:引导自动并行化(GAP),是英特尔?C++编译器提供一个功能,并在正确应用时,自动矢量化或自动并行化串行代码。编译器的属性应使用选项/ O2或更高/ Qguide选项,以使GAP的技术来自动生成矢量化的程序。同时,可结合/ Qparallel和/ Qguide选项来使编译器自动并行化程序。 根据上面给出的提示,修改代码,让编译器自动并行化程序。 代码 运行结果 使用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好,效果接近。 使用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 ) 识别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函数 实验结果分析: 算法替换以后执行时间缩短了,CPI rate下降了,执行效率有所提升。 五、实验小结   这次试验使我学会了根据Guided Auto-parallelization给出的建议来进行程序代码的修改,并行优化程序。了解了使用ippcompress压缩文件的几种不同算法,试验中通过并比较压缩效果判比他们各自的优劣,并对比了gzip和ipp的gzip的压缩时间。对 Math Kernel Library有了初步认识,会使用其中的函数进行各种矩阵运算。学会了使用基于事件采样分析的工具Intel? VTune? Amplifier XE来识别会影响程序性能的主要的硬件问题.实验使我们对于intel的多核技术应用最新成果

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档