版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020年8月12日,1,MIPSpro 的自动并行功能MIPSpro Auto-Parallelizing Option(APO),么石磊 SGI Asia-Pacific Technology Network Beijing, PRC,2020年8月12日,2,APO概述,MIPSpro APO是MIPSpro编译器的扩展,并融合到其中 MIPSpro APO 不是源到源的预编译器 不需要或很少需要人为的干预,2020年8月12日,3,激活APO,使用-apo选项 使用-pfa选项 f77 options -apo list|keep -mplist filename f90 option
2、s -apo list|keep filename cc options -apo list|keep -mplist filename CC options -apo list|keep filename,2020年8月12日,4,Options,-apo -apo list 产生.l文件 -apo keep 产生.l,.w2f.f或.w2c.c,.m,和 .anl文件 -mplist 产生.w2f.f或.w2c.c文件,2020年8月12日,5,APO注意事项,APO只能用于-n32, -64和-n64的编译器 如果分别链接,命令行需要下列选项之一 -apo,-mp 下面选项不能同时使用:
3、 -apo keep -mplist,2020年8月12日,6,APO的输出文件,.l文件 .w2f.f文件和.w2c.c文件 .m文件和.anl文件,2020年8月12日,7,Example,2020年8月12日,8,.l文件,2020年8月12日,9,.w2f.f文件和.w2c.c文件,2020年8月12日,10,.m文件和.anl文件,2020年8月12日,11,程序运行,设置环境变量: setenv OMP_DYNAMIC FALSE setenv OMP_NUM_THREADS n,2020年8月12日,12,MIPSpro APO 的辅助功能,辅助APO的方法 自动并行编译制导语句
4、,2020年8月12日,13,为什么APO需要辅助?,实际编程中不利于自动并行的问题: 循环中调用函数 循环中使用GOTO语句 不明确的数组下标,2020年8月12日,14,辅助APO的方法,改动程序结构,使之便于APO编译器分析 在源程序中加入人工并行制导语句(manual parallelization directives) 在源程序中加入自动并行编译制导语句(automatic parallelization compiler directives),2020年8月12日,15,自动并行编译制导语句,C*$*NO CONCURRENTIZE C*$*CONCURRENTIZE C*$*
5、ASSERT DO(CONCURRENT) C*$*ASSERT DO(SERIAL) C*$*ASSERT CONCURRENT CALL C*$*ASSERT PERMUTATION C*$*ASSERT DO PREFER(CONCURRENT) C*$*ASSERT DO PREFER(SERIAL),2020年8月12日,16,C*$*NO CONCURRENTIZE,作用:阻止循环并行执行,其作用域取决于其所在的位置: 位于子程序或函数中 位于子程序或函数外,2020年8月12日,17,C*$*CONCURRENTIZE,作用:克服C*$*NO CONCURRENTIZE的影响 用
6、法:放在子程序内,指明该子程序内部的循环需并行执行,2020年8月12日,18,C*$*ASSERT DO(CONCURRENT),作用:指定下面的循环并行执行 注意事项: 使用不当可能会产生错误的执行码 对于一个循环内部的多个循环,该语句指定紧随其后的循环并行执行 如果指定一个内部循环并行执行,编译器可能将该循环提到最外层 不影响编译器对循环内CALL的分析 该语句在不使用-apo选项时仍然起作用 如果存在明显的依赖关系,编译器将忽略该语句,2020年8月12日,19,Example forC*$*ASSERT DO(CONCURRENT),C*$*ASSERT DO(CONCURRENT)
7、 DO I = 1, N A(I) = A(I + M) END DO,2020年8月12日,20,C*$*ASSERT DO(SERIAL),作用:指定紧随其后的循环串行执行,对其它循环不起作用,2020年8月12日,21,C*$*ASSERT CONCURRENT CALL,作用:忽略循环内CALL调用对并行处理的影响 注意事项: 作用域:作用于紧随其后的循环及该循环内部的所有循环 使用不当可能会产生错误的执行码 该语句在不使用-apo选项时仍然起作用,2020年8月12日,22,Example forC*$*ASSERT CONCURRENT CALL,C*$* ASSERT CONCU
8、RRENT CALL DO I = 1, M CALL FRED(B, I, T) CALL WILMA(A, I, T) END DO SUBROUTINE FRED(B, I, T) REAL B(*) T = B(I) END SUBROUTINE WILMA(A, I,T) REAL A(*) A(I) = T END,2020年8月12日,23,Example forC*$*ASSERT CONCURRENT CALL,C$ DOACROSS SHARED(A,B), LOCAL(I,T) C*$* ASSERT CONCURRENT CALL DO I = 1, M CALL FR
9、ED(B, I, T) CALL WILMA(A, I, T) END DO SUBROUTINE FRED(B, I, T) REAL B(*) T = B(I) END SUBROUTINE WILMA(A, I,T) REAL A(*) A(I) = T END,2020年8月12日,24,C*$*ASSERT PERMUTATION,用法: C*$*ASSERT PERMUTATION(arr) 作用:为编译器指明数组arr的每个元素都有不同的值 注意事项: 作用域:整个子程序内部 该语句在不使用-apo选项时仍然起作用,2020年8月12日,25,Example for C*$*AS
10、SERT PERMUTATION,SUBROUTINE SUB1 DO I = 1, N A(IB(I) = END DO C*$*ASSERT PERMUTATION(IB) DO I = 1, N A(IB(I) = END DO END,2020年8月12日,26,C*$*ASSERT DO PREFER(CONCURRENT),作用:建议编译器对该语句后面的循环进行并行处理 注意事项: 不会因为该语句的存在而对不安全的循环进行并行处理 优先并行紧随其后的循环 如果编译器认为该语句指定的循环不能安全并行,则考虑并行处理后面的循环 如果指定一个内部循环并行执行,编译器可能将该循环提到最外层,2020年8月12日,27,C*$*ASSERT DO PREFER(SERIAL),作用:该语句建议编译器对紧随其后的循环进行串行处理,D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖州市德清县教育局公开招聘中学教师39人备考题库附答案详解【典型题】
- 2026年福建厦门市滨城中学招聘编外教师15备考题库及答案详解【网校专用】
- 护理查房中的肿瘤科护理
- 护理学判断题答案解析
- 护理安全与医疗护理安全沟通技巧
- 中国石油大学(华东)《工程优化方法及应用工程优化方法及应用》2026-2027学年第一学期期末试卷含解析
- 空肠造口袋与皮肤保护剂的配合使用
- 浙江省杭州下城区2027届物理八上期末教学质量检测模拟试题含解析
- 江苏省兴化市顾庄区2026年物理八年级第一学期期末经典试题含解析
- 武汉工商学院《舞蹈写作教程》2026-2027学年第一学期期末试卷含解析
- 2026广东梅州综保区开发建设有限公司招聘2人考试备考题库及答案详解
- 安全监理策划方案
- 广东省珠海市香洲区2024-2025学年五年级下学期期末数学试题(含答案)
- 2026年高考真题-历史(陕晋青宁卷) 含解析
- 2026《危险化学品安全法》对标自查表(Excel适配版)
- 2026-2030中国有机液态氢行业产能预测与投资战略规划可行性研究报告
- 2026云南昆明市延安医院招聘编外人员备考题库及一套参考答案详解
- 2026年江苏高中提前自主招生考试数学试卷试题(含答案详解)
- 陕西国硒谷富硒产品研发中心有限公司招聘笔试题库2026
- 2026年出版社编辑岗位招聘笔试练习题及答案
- 2026年生产安全事故应急预案编制导则全文
评论
0/150
提交评论