浮点基准测试与CoMPI:集体操作配置的创新方案
1. 浮点基准测试的挑战与解决方案
在进行浮点基准测试时,我们面临着诸多挑战。随着架构日益复杂,系统中不同组件的使用成本不断变化,准确创建和解读基准测试变得愈发困难。处理器设计者为常见情况进行优化时,可能会引入未优化的情况,即使这些情况很少发生,也可能对应用程序产生重大影响。
此外,基准测试通常是现有应用程序的简化版本,计算结果可能不会被使用。因此,程序员在编写基准测试时可能会忽略一些浮点应用程序的编程指南,因为未使用结果的准确性并不重要。然而,这可能会导致浮点异常在基准测试中轻易出现,即使这些异常在CPU内部被屏蔽和处理,也会造成显著的开销。
为了解决这些问题,我们正在开发能够检查基准测试中非正常数字和其他性能异常的工具。目前有两种有前景的方法:
- 基于Bochs模拟器的插桩。
- 要求编译器生成对插桩软件浮点库的调用,而非浮点指令。不过,后一种方法无法捕获基准测试中的内联汇编代码。
2. CoMPI简介
CoMPI是LAM/MPI的一个扩展,它允许用户使用高级编程语言Scheme来配置集体操作。使用高级语言的目的是为了实现灵活性,使用CoMPI时,应用程序无需修改或重新编译。
目前,可配置的操作包括广播、归约、全归约、收集和屏障,并且该系统具有足够的通用性,可以根据需要扩展其他操作。
3. LAM/MPI背景信息
LAM/MPI是印第安纳大学LAM团队维护的MPI规范的开源实现。对LAM/MPI的扩展以插件模块的形式编写,遵循名为系统服务接口(SSI)的规范。CoMPI实现为集体操作SSI模块,用户
超级会员免费看
订阅专栏 解锁全文
2322

被折叠的 条评论
为什么被折叠?



