创新计算机体系结构设计的FMM算法分析.pdf

创新计算机体系结构设计的FMM 算法分析

创新计算机体系结构设计的FMM 算法分析

摘要

为了设计专注于高性能计算的新型计算机体系结构,需要研究典型应用,藉此了解系

统结构应具备的主要特性。本文作为设计创新高性能计算机体系结构的准备工作的一部分,

针对应用程序在计算和访存等方面的特性,给出了专为N-body 问题中的FMM 算法而优化

的体系结构设计策略。

近年来出现的一些新型计算机体系结构都不约而同的把注意力放在了提高硬件执行效

能之上,为此这些新型计算机体系往往针对某些特定范围的应用做了优化。类似于GPGPU

(General-Purpose Computing on Graphics Processing Units )的体系结构中,由于存在针对图

形处理优化的体系设计和特殊硬件,其在图形相关的领域有着非常好的应用。而诸如

MorphoSys 之类的可重构体系结构,往往具有粗颗粒度的动态可重构的硬件设计,从而能够

针对不同应用的特点,动态的给予硬件相应的优化配置,保证硬件总能最大程度的发挥自

身的性能。

依照以上所述的基于应用分析的研究方法,本文选取了N-body 问题这样一个应用范畴

作为分析对象。N -body 问题又称多体问题,是天体物理学、流体力学以及分子动力学的基

本问题之一,用来模拟一个系统中相互作用的粒子的运动规律。一般可以被描述为:在一

定的空间中,分布着多个粒子,每对粒子之间都存在着相互作用力(如万有引力、库仑力

等),使这些粒子发生运动。它们的初始位置和速度是已知的,每隔一定的时间,通过计算

粒子之间的作用力,来更新它们的位置和速度。N -body 问题早在三百多年前已被提出,几

百年来人们经过对它的不断研究和实验,已经总结出相当成熟和可靠的算法。随着科技的

不断发展,N -body 问题的规模也随之不停地扩大,现今已达到了上亿、甚至上百亿的规模。

这样大规模的运算对计算机的运算速度提出了非常大的挑战,因此,N -body 问题是高性能

计算领域最具代表性、影响力和挑战性的问题之一。

N-body 的问题的常见算法有如下几种:直接套用公式计算的PP (Particle to Particle )

算法;使用密度网格计算势能的PM (Particle Mesh Method )算法;把计算划分为远程区域

与近程区域的TM (Tree Method )算法。其中TM 算法又包括BH (Barnes-Hut )算法以及

改进型的FMM(Fast Multipole Method )算法。为了从这些算法中挑选出具有代表性的N-body

算法,本文从时间复杂度和计算精度等几个方面对它们进行了分析。

2

PP 算法是最直接最简单的算法,时间复杂度为O(N ) 。PM 算法是一种在粒子系统里计

算引力的方法,它的基本原理是把一个由粒子组成的系统转换成一个密度的网格(或“筛”),

通过该密度网格求解得到势能,然后,根据粒子在网格中所处的单元以及在单元中的位置,

将力应用到每个粒子上去。它的时间复杂度是O(N logN ) ,其中N 为离散网格大小。但PM

g g g

算法对于距离较近的粒子精度很低,因此只适用于粒子彼此之间距离较远的系统。BH 算法

应用树形结构对空间进行划分,并以此将N -body 问题的计算划分为近程与远程。它被广泛

地应用于天体力学。可快速计算各点受到的力,计算复杂度为 O(NlogN) 。虽然该算法的误

差范围小于1%,但也只能够处理天体力学范畴的问题。FMM 算法则是对BH 算法的改进,

创新计算机体系结构设计的FMM 算法分析

区别于BH 算法在每个结点处直接计算作用力,FMM 算法通过计算多项展开式的方法来实

现不同区域之间势能的转换,即ME (Multipole Expansion )和LE (Local Expansion )。通

计算机算法创新点,创新计算机体系结构设计的FMM算法分析.pdf相关推荐

  1. 计算机算法的发展动态,计算机算法动态规划讲解.ppt

    计算机算法动态规划讲解 * 0-1背包问题 设所给0-1背包问题的子问题 的最优值为m(i,j),即m(i,j)是背包容量为j,可选择物品为i,i+1,-,n时0-1背包问题的最优值.由0-1背包问题 ...

  2. 计算机 算法 ei 论文,计算机算法论文参考文献推荐 计算机算法专著类参考文献哪里找...

    汇总了[100个]与计算机算法相关论文参考文献,为广大毕业生和职称者推荐计算机算法论文参考文献推荐,解决在校大学生不知个计算机算法专著类参考文献哪里找等相关问题! 一.计算机算法论文参考文献范文 [1 ...

  3. 计算机算法专业有哪些,计算机专业的研究生研究方向有哪些

    目前计算机专业的研究方向主要分为四个大方向:分别是:AI(人工智能).Systems(计算机系统).Theory(计算机理论).Interdisciplinary Areas(交叉领域),各个大方向又 ...

  4. 计算机算法知识点总结,2021计算机考研知识点总结(1)

    队列和栈结构的概念理解 栈是仅限制在表的一端进行插入和删除运算的线性表,称插入.删除这一端为栈顶.表中无元素时为空栈.栈的修改是按后进先出的原则进行的.通常栈有顺序栈和链栈两种存储结构. 队列是一种运 ...

  5. 关于计算机算法的ppt,中科院计算机算法分析与设计_习题3-4_答案.ppt

    文档介绍: 1.编写程序实现归并算法和快速排序算法参见后附程序动手编程运行一下第三章分治算法****题 3.讨论归并排序算法的空间复杂性. 2.用长为 100 . 200 . 300 . 400 . ...

  6. 计算机算法对程序设计的作用,计算机编程中数学算法的优化策略

    李钰 摘要:在计算机编程中,合理地运用数学算法所拥有的优势不但可以完好地针对所拥有的问题进行总结分类归纳,还可以将其归纳作为基础从而进行针对性的统一计算,并且能够将非常复杂的问题进行整体的简化并且将其 ...

  7. 利用计算机 算法写文章,计算机算法论文

    海量优秀的免费计算机算法论文范文供您参考与下载,关于计算机算法论文的免费论文范文参考资料是由2016年最新的相关论文题目按照标准论文格式模板写作的,适合不知道怎么写计算机算法论文的大学毕业生,对相关的 ...

  8. 计算机论文写作提纲怎么写,计算机算法论文提纲 计算机算法论文大纲如何写...

    为论文写作提供[100个]计算机算法论文提纲,海量计算机算法相关论文提纲,包括专科与本科以及硕士论文提纲,解决您的计算机算法论文大纲如何写的相关难题! 五.一种求解Ramsey数的计算机算法论文提纲 ...

  9. 计算机短路计算基本原理,第八章第五节短路计算计算机算法.doc

    第八章第五节短路计算计算机算法 短路计算的计算机算法 前面介绍的用对称分量法计算不对称故障的计算步骤是很简明的.图8-57所示为计算简单故障(短路或断线)的计算程序原理框图. 下面对图8-57所示的框 ...

最新文章

  1. spring boot 开发 提交form表单出错
  2. Andoird --- 安卓 failed to connect to /192.168.0.135 (port 8080) after 1000ms
  3. 用Kubernetes搭建便携式开发环境之MongoDB
  4. 未完待续:关于DB Link和SCN,你还需要知道的是...
  5. jmeter脚本录制作业_399
  6. 7.数据结构 --- 图
  7. 前端Photoshop插件cutterman的下载和安装以及使用
  8. 【处理手记】VS2010SP1安装不上Visual Studio 2010 SP1 SDK的解决办法
  9. 继暗影机器人跑路,守护者群管作者也宣布退网
  10. 【项目管理/PMP/PMBOK第六版/新考纲】计算题! 假设情景分析/类比估算/处理变更/结束采购/高层级风险/组织过程资产
  11. 虚拟主机终极选购指南
  12. openwrt修改默认网关地址_修改宇视摄像机IP地址的方法
  13. diamond 学习
  14. centos7 卸载docker
  15. osTicket中文,osTicket汉化
  16. 先进先出物料架_仓库物料的先进先出FIFO管理(如何做到先进先出)
  17. Android 恢复出厂设置上层流程
  18. Google Chrome,是由Google开发的,一款设计非常简单、十分高效的Web浏览工具!
  19. Java小农养成记第十四天
  20. Beauty Box for Premiere Pro Mac(pr人像磨皮美容插件)

热门文章

  1. 北交大计算机电子信息,北京交通大学电子信息工程学院
  2. 巧用 即刻搜索事件 input propertychange 监听输入框字数
  3. openstack学习之路(运维部份)
  4. 教你如何将你的Qt项目打包安装在MeeGo系统中
  5. 区块链三加一 “成才”路上提个醒:区块链培训机构鱼龙混杂
  6. 推荐100首值得听的英文歌【ZT】
  7. 数据分类分级是什么?分类与分级区别又在哪?
  8. qt对plot柱状图颜色设置
  9. 会玩会生活!兴趣标签体系的背后方案是......
  10. mysql vacuum_PostgreSQL中快速对系统表实现vacuum full