并行程序设计环境与工具
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国家高性能计算中心(合肥)
并行程序性能分析
▪ 可视化技术
▪ 散布图(Scatter plots):点数据用(Xi, Yi)表示。 ▪ 图示符(Glyphs):表示复数集合。 ▪ 直方图或饼图:前者用矩形面积表示专门含义;后者表示部分
与总体的比例关系。 ▪ 等值线(ISO-line)与等值面(ISO-Surface):前者对于二维
国家高性能计算中心(合肥)
并行程序性能分析
▪ 可视化定义,目的和概念
▪ 定义:科学数据可视化是使用图形方法增强对科学数据的解释和便于 用户直观理解。
▪ 目的:为科学数据提供富有表达性的和有效可视的表示概念,方法和 工具等。
▪ 基本概念:可视化概念和工具是基于心理学,感知学,计算机图形学, 艺术和绘画等其他学科,其基本过程是由真实现象→数字→图画→目 标表示。
▪ 软件工程工具
▪ 系统构造程序 版本管理程序 设计编辑器 ▪ 代码产生器 测试辅助程序
▪ 集成工具
▪ 数据集成 公共前端 控制集成
▪ 将来的工具与环境
▪ 过程工具 群件工具 可视化工具 程序分析工具
国家高性能计算中心(合肥)
并行程序设计环境与工具
▪ 15.1 软件工具与环境 ▪ 15.2 并行编译器 ▪ 15.3 并行程序调试 ▪ 15.4 并行程序性能分析 ▪ 15.5 图形化并行程序集成开发环境
国家高性能计算中心(合肥)
并行编译器
▪ 编译及其并行化
▪ 向量化(SIMDizing) 并行化(MIMDizing)
▪ 相关分析
▪ 流相关 反相关 输出相关 控制相关
▪ 代码优化
▪ 代码向量化方法 ▪ 代码并行化方法
▪ 代码生成
▪ 中间形式的代码转换成可执行的具体的机器目标代码
国家高性能计算中心(合肥)
国家高性能计算中心(合肥)
并行程序性能分析
▪ 并行程序的性能预测
▪ 并行程序性能的静态分析又叫性能预测 ▪ 方法:分析预测(Analytical Prediction)、模拟仿真 ▪ 模拟仿真:并行系统建模 、应用程序建模 ▪ 性能评估的参数选择
▪ 并行程序的性能监控
▪ 并行程序性能的动态分析又叫性能监控 ▪ 工具:联机的、脱机的 ▪ 时钟驱动监控、事件驱动监控
▪ 科学数据的特征化
▪ 可视元素(Cues):图画的基本要素,例如空间位置和运动,长度、 深度、面、体、厚度,角度、斜率取向,密度和颜色、对比度等。
▪ 定量表示:点数据集的可视化用散布图(Scatter plots)和图示符(Glyphs) 表示;连续函数用标量表示,矢量用长度和方向表示;n维张量场用 主方向和绝对值表示。
序确保并行程序的基本正确性;③在②的基础上逐步增大处理 器数以充分证实并行程序的正确性;④逐步增加并行程序中的 并行成分以进一步对并行程序进行性能调试;⑤当出错时要依 次检查数据定义,数据分布和同步机制正确性等。错误原因分 析
国家高性能计算中心(合肥)
并行程序调试
▪ 并行程序的调试技术
▪ 全局断点、渐增检查点、事件分析、静态分析 ▪ ①断点调试包括控制流断点、自陷断点和谓词断点;他的主要
并行程序设计环境与工具
▪ 15.1 软件工具与环境 ▪ 15.2 并行编译器 ▪ 15.3 并行程序调试 ▪ 15.4 并行程序性能分析 ▪ 15.5 图形化并行程序集成开发环境
国家高性能计算中心(合肥)
并行程序调试
▪ 并行程序调试的方法与步骤
▪ 困难:不确定性、探针效应 ▪ 方法:重放(Replay)断点调试(Breakpoint Debugging) ▪ 步骤: ①先确保串行程序运行正确性;②以单机执行并行程
▪ 并行程序的性能可视化
▪ 性能可视化:数据生成、数据显示、数据分析与用户交互 ▪ 用户界面
国家高性能计算中心(合肥)
并行程序性能分析
▪ 静态分析:采用模拟或分析方法获取源程序中有关性能参数报告 给用户,是在源程序一级进行的,其优点是可以用较小的时间代 价,针对重要的程序结构做出多种可能的性能选择,缺点是准确 性较差。
▪ 动态分析:采用测量的方法收集程序运行中的各种性能参数,即 时或事后报告给用户;性能参数的获取可由硬件和软件提供;其 优点是所提供的数据较准确,缺点是灵活性较差。
▪ 性能分析方法:①统计程序各部分执行时间;②分析大计算量的 程序段是计算部分还是通信部分或I/O部分,从而找出性能瓶颈; ③根据加速的理论值和实测值,分析计算粒度大小,负载平衡情 况,通信开销和存储访问冲突以及CACHE命中率等;④根据效率 和可扩放性分析结构与算法的组合最佳情况等。
缺点是探针效应。②事态分析法记录运行中事件轨迹信息而事 后加以分析,轨迹信息主要用于阅览和重放。③重放控制程序 再现同步通信次序就可以重放程序运行结果。
▪ 并行程序的性能调试
▪ 测量、分析(静态、动态)、优化
国家高性能计算中心(合肥)
并行程序设计环境与工具
▪ 15.1 软件工具与环境 ▪ 15.2 并行编译器 ▪ 15.3 并行程序调试 ▪ 15.4 并行程序性能分析 ▪ 15.5 图形化并行程序集成开发环境
数据集,恒值线上的点具有相同值;后者对于三维数据集,等 值面上的数值都相同。 ▪ 图像显示:对于二维数据可选用不同的数值、灰度和颜色等。 ▪ 射线跟踪:为了显示体内元素值,用光线跟踪将三维中的体元 素(Voxel)投影到二维上。 ▪ 动画:使用动画连续移动画面产生明显动感。
国家高性能计算中心(合肥)
并行程序设计环境与工具
▪ 15.1 软件工具与环境 ▪ 15.2 并行编译器 ▪ 15.3 并行程序调试 ▪ 15.4 并行程序性能分析 ▪ 15.5 图形化并行程序集成开发环境
国家高性能计算中心(合肥)
图形化并行程序集成开发环境
十五 并行程序设计环境与工具
国家高性能计算中心(合肥)
ቤተ መጻሕፍቲ ባይዱ
并行程序设计环境与工具
▪ 15.1 软件工具与环境 ▪ 15.2 并行编译器 ▪ 15.3 并行程序调试 ▪ 15.4 并行程序性能分析 ▪ 15.5 图形化并行程序集成开发环境
国家高性能计算中心(合肥)
软件工程与环境
▪ 编码工具
▪ 编辑器 编译器 连接器和加载器 预处理程序 ▪ 交叉引用程序 源级查错器 查错辅助程序
并行程序性能分析
▪ 可视化技术
▪ 散布图(Scatter plots):点数据用(Xi, Yi)表示。 ▪ 图示符(Glyphs):表示复数集合。 ▪ 直方图或饼图:前者用矩形面积表示专门含义;后者表示部分
与总体的比例关系。 ▪ 等值线(ISO-line)与等值面(ISO-Surface):前者对于二维
国家高性能计算中心(合肥)
并行程序性能分析
▪ 可视化定义,目的和概念
▪ 定义:科学数据可视化是使用图形方法增强对科学数据的解释和便于 用户直观理解。
▪ 目的:为科学数据提供富有表达性的和有效可视的表示概念,方法和 工具等。
▪ 基本概念:可视化概念和工具是基于心理学,感知学,计算机图形学, 艺术和绘画等其他学科,其基本过程是由真实现象→数字→图画→目 标表示。
▪ 软件工程工具
▪ 系统构造程序 版本管理程序 设计编辑器 ▪ 代码产生器 测试辅助程序
▪ 集成工具
▪ 数据集成 公共前端 控制集成
▪ 将来的工具与环境
▪ 过程工具 群件工具 可视化工具 程序分析工具
国家高性能计算中心(合肥)
并行程序设计环境与工具
▪ 15.1 软件工具与环境 ▪ 15.2 并行编译器 ▪ 15.3 并行程序调试 ▪ 15.4 并行程序性能分析 ▪ 15.5 图形化并行程序集成开发环境
国家高性能计算中心(合肥)
并行编译器
▪ 编译及其并行化
▪ 向量化(SIMDizing) 并行化(MIMDizing)
▪ 相关分析
▪ 流相关 反相关 输出相关 控制相关
▪ 代码优化
▪ 代码向量化方法 ▪ 代码并行化方法
▪ 代码生成
▪ 中间形式的代码转换成可执行的具体的机器目标代码
国家高性能计算中心(合肥)
国家高性能计算中心(合肥)
并行程序性能分析
▪ 并行程序的性能预测
▪ 并行程序性能的静态分析又叫性能预测 ▪ 方法:分析预测(Analytical Prediction)、模拟仿真 ▪ 模拟仿真:并行系统建模 、应用程序建模 ▪ 性能评估的参数选择
▪ 并行程序的性能监控
▪ 并行程序性能的动态分析又叫性能监控 ▪ 工具:联机的、脱机的 ▪ 时钟驱动监控、事件驱动监控
▪ 科学数据的特征化
▪ 可视元素(Cues):图画的基本要素,例如空间位置和运动,长度、 深度、面、体、厚度,角度、斜率取向,密度和颜色、对比度等。
▪ 定量表示:点数据集的可视化用散布图(Scatter plots)和图示符(Glyphs) 表示;连续函数用标量表示,矢量用长度和方向表示;n维张量场用 主方向和绝对值表示。
序确保并行程序的基本正确性;③在②的基础上逐步增大处理 器数以充分证实并行程序的正确性;④逐步增加并行程序中的 并行成分以进一步对并行程序进行性能调试;⑤当出错时要依 次检查数据定义,数据分布和同步机制正确性等。错误原因分 析
国家高性能计算中心(合肥)
并行程序调试
▪ 并行程序的调试技术
▪ 全局断点、渐增检查点、事件分析、静态分析 ▪ ①断点调试包括控制流断点、自陷断点和谓词断点;他的主要
并行程序设计环境与工具
▪ 15.1 软件工具与环境 ▪ 15.2 并行编译器 ▪ 15.3 并行程序调试 ▪ 15.4 并行程序性能分析 ▪ 15.5 图形化并行程序集成开发环境
国家高性能计算中心(合肥)
并行程序调试
▪ 并行程序调试的方法与步骤
▪ 困难:不确定性、探针效应 ▪ 方法:重放(Replay)断点调试(Breakpoint Debugging) ▪ 步骤: ①先确保串行程序运行正确性;②以单机执行并行程
▪ 并行程序的性能可视化
▪ 性能可视化:数据生成、数据显示、数据分析与用户交互 ▪ 用户界面
国家高性能计算中心(合肥)
并行程序性能分析
▪ 静态分析:采用模拟或分析方法获取源程序中有关性能参数报告 给用户,是在源程序一级进行的,其优点是可以用较小的时间代 价,针对重要的程序结构做出多种可能的性能选择,缺点是准确 性较差。
▪ 动态分析:采用测量的方法收集程序运行中的各种性能参数,即 时或事后报告给用户;性能参数的获取可由硬件和软件提供;其 优点是所提供的数据较准确,缺点是灵活性较差。
▪ 性能分析方法:①统计程序各部分执行时间;②分析大计算量的 程序段是计算部分还是通信部分或I/O部分,从而找出性能瓶颈; ③根据加速的理论值和实测值,分析计算粒度大小,负载平衡情 况,通信开销和存储访问冲突以及CACHE命中率等;④根据效率 和可扩放性分析结构与算法的组合最佳情况等。
缺点是探针效应。②事态分析法记录运行中事件轨迹信息而事 后加以分析,轨迹信息主要用于阅览和重放。③重放控制程序 再现同步通信次序就可以重放程序运行结果。
▪ 并行程序的性能调试
▪ 测量、分析(静态、动态)、优化
国家高性能计算中心(合肥)
并行程序设计环境与工具
▪ 15.1 软件工具与环境 ▪ 15.2 并行编译器 ▪ 15.3 并行程序调试 ▪ 15.4 并行程序性能分析 ▪ 15.5 图形化并行程序集成开发环境
数据集,恒值线上的点具有相同值;后者对于三维数据集,等 值面上的数值都相同。 ▪ 图像显示:对于二维数据可选用不同的数值、灰度和颜色等。 ▪ 射线跟踪:为了显示体内元素值,用光线跟踪将三维中的体元 素(Voxel)投影到二维上。 ▪ 动画:使用动画连续移动画面产生明显动感。
国家高性能计算中心(合肥)
并行程序设计环境与工具
▪ 15.1 软件工具与环境 ▪ 15.2 并行编译器 ▪ 15.3 并行程序调试 ▪ 15.4 并行程序性能分析 ▪ 15.5 图形化并行程序集成开发环境
国家高性能计算中心(合肥)
图形化并行程序集成开发环境
十五 并行程序设计环境与工具
国家高性能计算中心(合肥)
ቤተ መጻሕፍቲ ባይዱ
并行程序设计环境与工具
▪ 15.1 软件工具与环境 ▪ 15.2 并行编译器 ▪ 15.3 并行程序调试 ▪ 15.4 并行程序性能分析 ▪ 15.5 图形化并行程序集成开发环境
国家高性能计算中心(合肥)
软件工程与环境
▪ 编码工具
▪ 编辑器 编译器 连接器和加载器 预处理程序 ▪ 交叉引用程序 源级查错器 查错辅助程序