十五并行程序设计环境与工具.ppt
国家高性能计算中心(合肥),十五 并行程序设计环境与工具,国家高性能计算中心(合肥),并行程序设计环境与工具,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中开发并行程序的过程 并行程序设计映射预编译编译调试性能分析,国家高性能计算中心(合肥),