论文部分内容阅读
高性能计算技术近年来在国内外都得到了巨大发展,虽然在硬件方面突破较大(如高性能计算机的研制),但在并行应用软件方面的发展则比较缓慢,最终导致并行应用软件的开发严重滞后于并行硬件平台的发展。只有并行应用软件的发展跟上硬件平台的发展,才能充分利用这些高性能计算资源。尤其是多核处理器的推出,使用户面临无处不在的并行。如何将已有的串行算法并行化并在并行计算机上优化实现,成为高性能计算发展面临的迫切任务。因此本文的研究重点主要针对应用软件的核心算法的并行程序设计与开发,开展了研究开发工作;文中最后还初步探讨了TLB对基于层次存储系统的并行计算模型的分析精度的影响的问题。
本文的并行程序设计与开发部分主要是针对共享存储并行计算系统,研究如何用共享存储的编程标准OpenMP进行并行程序设计,其中包括数值计算和非数值计算的应用实例。数值计算方面,我们为飞箭软件有限公司研发了有限元单元计算子程序的多核版本,论文讨论了我们在共享存储并行编程过程中遇到的一些问题,并给出了我们的解决思路和方案;在一个4路双核的曙光服务器上的实际测试表明,8个线程的加速比超过了5;在非数值计算领域,我们设计开发了用OpenMP实现的并行压缩软件,并具体分析了其中的关键实现技术,在曙光四路双核服务器上的测试,得到了平均9.27倍的加速比。
此外,本文还分析了各种基于层次存储结构的并行计算模型的优缺点。通过调用PAPI软件对三种不同形式的分块矩阵乘进行的性能测试与分析,讨论了TLB对程序性能的影响,进一步验证了将TLB纳入基于层次存储结构并行计算模型的必要性。