




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
并行编程环境设置和注意事项一 远程登陆服务器请同学们使用服务器分配的原始密码通过SSH工具登陆到实验集群的登陆节点:202.38.192.99,然后使用命令passwd对初始密码进行修改。PS:Linux下密码不可见。 接着在自己的账号下使用命令mkdir命令建立2个目录:OpenMP,MPI用来存放不同实验数据和文档。二 跳转计算节点本次实验除了LC的登陆头节点(202.38.192.99)还有4个计算节点,分别是C0-0,c0-1,c0-2,c0-3。使用命令ssh可以从当前节点转到计算节点,例如ssh c0-1则可从当前节点转到计算节点c0-1,其他如此类推。MPI实验在登陆节点上运行程序一定要加-nolocal或者-machinefile参数,禁止使用登陆节点计算。三 设置编译环境使用命令vi /.bash_profile设置环境变量,添加路径如下文,然后使用. /.bash_profile(注意前有个点+空格)使设置生效,整个操作过程如下:lp.zhbl6000 $ vi /.bash_profile# .bash_profile# Get the aliases and functionsif -f /.bashrc ; then . /.bashrcfi# User specific environment and startup programsPATH=/opt/mpich-1.2.7pl/bin:/opt/intel/Compiler/11.0/069/bin/ia32:$PATH:$HOME/bin:/usr/sbinLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:opt/mpich-1.2.7pl/lib/:/opt/intel/Compiler/11.0/069/lib/ia32export PATHexport LD_LIBRARY_PATHunset USERNAME lp.zhbl6000 $. /.bash_profile然后使用which mpirun命令检测路径,如果屏幕显示/opt/mpich/gnu/bin/mpirun表明设置成功。如下所示:lp.zhbl6000# which mpirun/opt/mpich-1.2.7pl/bin/mpirun四 清除异常进程请明确你的程序在哪个节点上运行,万一出现问题你必须停止(kill)该节点上的程序进程。请不定时对你所在的节点进行查询,以观测你的进程是否还在上面正常运行,命令如下(使用自己的用户名取代username):ps -aux | grep username 另外,对出现问题的进程必须停止,命令如下(pid为进程号): kill -9 pid五 清除异常信号量可以使用 ipcs -a命令检查是否存在大量残留信号量。运行MPICH安装目录下的清理程序。路径在/opt/mpich/gnu/clean/cleanipcs。需要清理frontend和计算节点的。六 编译运行OpenMP程序以OpenMP实验附录的程序Helloworld.c为例:lp.zhbl6000 OpenMp$ icc -openmp -o Helloworld Helloworld.c Helloworld.c(10) : (col. 1) remark: OpenMP DEFINED REGION WAS PARALLELIZED. lp.zhcompute-0-1 OpenMp$ ./Helloworld Hello, world from OMP thread0Number of threads 2Hello, world from OMP thread1 七 编译运行MPI程序编译:mpicc src.c 或者mpicxx src.cpp默认用gcc作为编译器,一般mpicc O2 可获得不错的优化后的程序运行:mpirun 参数 执行文件-nolocal参数,不要在frontend上执行计算任务。-np 参数,指定进程数目-machinefile参数 ,指定机器,推荐使用该参数,可以避免信号传输过程中的一些错误。默认使用/opt/mpich-1.2.7pl/binMpirun machinefile myfile,其中myfile指定自己想要按顺序执行的机器目录,格式为:compute-0-6.localcompute-0-7.localcompute-0-1.local。顺序可以自由设置,若不使用,mpich将机械地从头(节点1)开始选择机器。高级:可使用SGE、PBS乃至ganglia来生成machinefile,自动选择较为不忙的机器)以OpenMP实验附录的KMP串匹配MPI程序为例:编译:gcc gen_pat.c o gen_patmpicc kmp.c o kmp运行:首先运行gen_ped生成模式串,gen_ped Strlen Pedlen Seed Pattern_File。其中Strlen代表模式串的长度,Pedlen代表模式串的最小周期长度,Seed是随机函数使用的种子数,Pattern_File是生成数据存储的文件,这里在kmp.c中固定指定的文件名为pattern.dat。本例中使用了如下的参数。./gen_pat 3 2 1 pattern.dat之后可以使用命令 mpirun np SIZE kmp m n来运行该串匹配程序,其中SIZE是所使用的处理器个数,m表示文本串长度,n为文本串的周期长度。本实例中使用了SIZE=4个处理器,m=18,n=2。 运行结果:存储于pattern.dat中的模式串为:qmq存储于match_result中的匹配结果为:lp.zhbl6000 lp.zh$ mpirun -nolocal -np 4 kmp 20 3processor num = 4 textlen = 20patlen= 3lp.zhbl6000 lp.zh$ more match_result The Text on node 0 is nwlnw .The Text on node 1 is nwlnw .The Text on node 2 is ebgeb .The Text on node 3 is gvwgv .This is the match result on node 0 (0) -(1) -(2) -This is the match result on node 1 (3) +(4) -(5) -(6) -(7) -This is the match result on node 2 (8) -(9) -(10) -(11) -(12) -This is the match result on node 3 (13) -(14) -(15) -(16) -(17) -说明:该运行实例中,令文本串长度为20,随机产生的文本串为asasasqmqmqmypypyp,分布在4个节点上;模式串长度为3,随机产生的模式串为nwn。最后,节点1上得到一个匹配位置,由+表示出来。八 一些MPI程序常见问题1、 p4_error: semget failed for setnum: 0 原因:MPI程序没有正常退出,占用信号量没有释放检查:ipcs s对策:杀死程序,清除异常进程和异常信号量。需要同时清理frontend和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑自动化控制与监测技术方案
- 智能硬件研发与人工智能融合方案
- 厂房屋面绿化设计方案
- 建筑幕墙材料选择与性能评估方案
- 热电联产项目建设工程方案
- 含油及有机物综合利用项目技术方案
- 城市步行街景观环境整治方案
- 景观设计与施工技术实施方案
- 高中数学竞赛专项突破试题及答案
- 运动知识竞赛试题及精准答案
- 第四章农产品贮藏实例课件
- 混凝土施工技术难点及相应解决方案,通用
- 5.1中国古代建筑艺术概述(全国导游基础知识 第五版 )
- 初中励志英语谚语
- 2023年云南曲靖市交通建设投资集团有限公司招聘笔试题库及答案解析
- 招工简章模板(可编辑)
- 《钢纤维混凝土》课件
- DB37-T 4310-2021 地热尾水回灌技术规程
- (完整)中国的丹霞地貌ppt
- 生物产业园智慧园区智能化建设方案
- 中国制造解读
评论
0/150
提交评论