国家高性能计算中心(合肥)
十五 并行程序设计环境与工具国家高性能计算中心(合肥)
并行程序设计环境与工具
15.1 软件工具与环境
15.2 并行编译器
15.3 并行程序调试
15.4 并行程序性能分析
15.5 图形化并行程序集成开发环境国家高性能计算中心(合肥)
软件工程与环境
编码工具
编辑器 编译器 连接器和加载器 预处理程序
交叉引用程序 源级查错器 查错辅助程序
软件工程工具
系统构造程序 版本管理程序 设计编辑器
代码产生器 测试辅助程序
集成工具
数据集成 公共前端 控制集成
将来的工具与环境
过程工具 群件工具 可视化工具 程序分析工具国家高性能计算中心(合肥)
并行程序设计环境与工具
15.1 软件工具与环境
15.2 并行编译器
15.3 并行程序调试
15.4 并行程序性能分析
15.5 图形化并行程序集成开发环境国家高性能计算中心(合肥)
并行编译器
编译及其并行化
向量化( SIMDizing) 并行化( MIMDizing)
相关分析
流相关 反相关 输出相关 控制相关
代码优化
代码向量化方法
代码并行化方法
代码生成
中间形式的代码转换成可执行的具体的机器目标代码国家高性能计算中心(合肥)
并行程序设计环境与工具
15.1 软件工具与环境
15.2 并行编译器
15.3 并行程序调试
15.4 并行程序性能分析
15.5 图形化并行程序集成开发环境国家高性能计算中心(合肥)
并行程序调试
并行程序调试的方法与步骤
困难:不确定性、探针效应
方法:重放( Replay)断点调试( Breakpoint Debugging)
步骤,①先确保串行程序运行正确性 ; ②以单机执行并行程序确保并行程序的基本正确性 ; ③在②的基础上逐步增大处理器数以充分证实并行程序的正确性;④逐步增加并行程序中的并行成分以进一步对并行程序进行性能调试;⑤当出错时要依次检查数据定义,数据分布和同步机制正确性等。 错误原因分析国家高性能计算中心(合肥)
并行程序调试
并行程序的调试技术
全局断点、渐增检查点、事件分析、静态分析
①断点调试包括控制流断点、自陷断点和谓词断点;他的主要缺点是探针效应 。 ②事态分析法记录运行中事件轨迹信息而事后加以分析,轨迹信息主要用于阅览和重放 。 ③重放控制程序再现同步通信次序就可以重放程序运行结果。
并行程序的性能调试
测量、分析(静态、动态)、优化国家高性能计算中心(合肥)
并行程序设计环境与工具
15.1 软件工具与环境
15.2 并行编译器
15.3 并行程序调试
15.4 并行程序性能分析
15.5 图形化并行程序集成开发环境国家高性能计算中心(合肥)
并行程序性能分析
并行程序的性能预测
并行程序性能的静态分析又叫性能预测
方法:分析预测( Analytical Prediction)、模拟仿真
模拟仿真:并行系统建模,应用程序建模
性能评估的参数选择
并行程序的性能监控
并行程序性能的动态分析又叫性能监控
工具:联机的、脱机的
时钟驱动监控、事件驱动监控
并行程序的性能可视化
性能可视化:数据生成、数据显示、数据分析与用户交互
用户界面国家高性能计算中心(合肥)
并行程序性能分析
静态分析:采用模拟或分析方法获取源程序中有关性能参数报告给用户,是在源程序一级进行的,其优点是可以用较小的时间代价,针对重要的程序结构做出多种可能的性能选择,缺点是准确性较差。
动态分析:采用测量的方法收集程序运行中的各种性能参数,即时或事后报告给用户;性能参数的获取可由硬件和软件提供;其优点是所提供的数据较准确,缺点是灵活性较差。
性能分析方法,① 统计程序各部分执行时间; ② 分析大计算量的程序段是计算部分还是通信部分或 I/O部分,从而找出性能瓶颈;
③ 根据加速的理论值和实测值,分析计算粒度大小,负载平衡情况,通信开销和存储访问冲突以及 CACHE命中率等; ④ 根据效率和可扩放性分析结构与算法的组合最佳情况等。
国家高性能计算中心(合肥)
并行程序性能分析
可视化定义,目的和概念
定义:科学数据可视化是使用图形方法增强对科学数据的解释和便于用户直观理解。
目的:为科学数据提供富有表达性的和有效可视的表示概念,方法和工具等。
基本概念:可视化概念和工具是基于心理学,感知学,计算机图形学,
艺术和绘画等其他学科,其基本过程是由真实现象 → 数字 → 图画 → 目标表示。
科学数据的特征化
可视元素( Cues),图画的基本要素,例如空间位置和运动,长度、
深度、面、体、厚度,角度、斜率取向,密度和颜色、对比度等。
定量表示:点数据集的可视化用散布图 (Scatter plots)和图示符 (Glyphs)
表示;连续函数用标量表示,矢量用长度和方向表示; n维张量场用主方向和绝对值表示。
国家高性能计算中心(合肥)
并行程序性能分析
可视化技术
散布图( Scatter plots),点数据用 (Xi,Yi)表示。
图示符( Glyphs),表示复数集合。
直方图或饼图:前者用矩形面积表示专门含义;后者表示部分与总体的比例关系。
等值线( ISO-line) 与等值面( ISO-Surface),前者对于二维数据集,恒值线上的点具有相同值;后者对于三维数据集,等值面上的数值都相同。
图像显示:对于二维数据可选用不同的数值、灰度和颜色等。
射线跟踪:为了显示体内元素值,用光线跟踪将三维中的体元素( Voxel) 投影到二维上。
动画:使用动画连续移动画面产生明显动感。
国家高性能计算中心(合肥)
并行程序设计环境与工具
15.1 软件工具与环境
15.2 并行编译器
15.3 并行程序调试
15.4 并行程序性能分析
15.5 图形化并行程序集成开发环境国家高性能计算中心(合肥)
图形化并行程序集成开发环境
图形化的并行程序开发方法
基本思路:用节点表示计算,用弧表示计算之间的交互,采用统一图形用户界面,将并行程序的设计,编辑,编译连接,调试和性能分析等工具集成起来,力图实现并行程序开发各阶段的可视化 。
基本组成:至少包括,① 可视化的程序设计工具; ② 可视化的模拟系统 ; ③ 可视化的程序调试和行为分析工具 。
基本流程,①用图形语言编辑器设计和构造用图形编程语言书写的并行程序; ②用预编译器产生 C源代码,MAKE文件和交叉引用文件; ③由生成器连接有关库函数生成可执行文件;
④可执行代码以调试或跟踪模式加载到处理器上执行。
国家高性能计算中心(合肥)
图形化并行程序集成开发环境
并行程序的可视化设计环境与工具
并行程序集成开发环境 GRADE的组成
图形应用开发环境 GRADE( GRaphical Application
Development Environment)
GRADE中开发并行程序的过程
并行程序设计
映射
预编译
编译
调试
性能分析国家高性能计算中心(合肥)
并行程序设计
GR AP N EL GR ED
映射
D MS& S
预编译
GR P2C
编译和连接
C 编译器连接器调试
D D BG
监视
Tap e/P VM
可视化
PROVE
性能分析
PVM 库
Tap e/
PVM 库
GR AP -
N EL 库交叉引用文件
GR P
C / C ++ 源代码 Ma k efil e
跟踪文件
GR P
可执行文件