没有合适的资源?快使用搜索试试~ 我知道了~
蒙特卡罗中子输运模拟的优化王云松引用此版本:王云松蒙特卡罗中子输运模拟与新兴结构的优化分布式、并行和集群计算。巴黎萨克雷大学(COmUE),2017年。英语NNT:2017SACLX090。电话:01687913HAL Id:tel-01687913https://pastel.archives-ouvertes.fr/tel-016879132018年1月18日提交HAL是一个多学科的开放获取档案馆,用于存放和传播科学研究文件,无论它们是否已这些文件可能来自法国或国外的教学和研究机构,或来自公共或私人研究中心。L’archive ouverte pluridisciplinaire编号:2017SACLX090THEE`SEDEDOCTORATDEPRE′PARE′A`LE'COLEDOCTORAL ENo573接口:方法、学科交叉/基础、应用和创新Sp'ecialit'ededoctorat:信息parM.王云松利用新兴体系结构优化蒙特卡罗中子输运模拟Th`esepr′esent′eeetsoutenue`aGif-sur-Yvette,le14d′ecembre2017:Composition de jury:M.马克·韦尔德里Directeur de Recherche,CNRS/IN2P3/LLR请不要让陪审团知道M.安德鲁·西格尔阿贡国家实验室特别报告员M.雷蒙德·纳梅斯特波尔多葡萄酒/LABRI,Uniersit'ede特别报告员M.戴维·夏蒙Charg′edeRecherche,CNRS/IN2P3/LAL考官M.大卫·里兹Ing'enieur,CEA/DAM考官M. 克里斯托夫·加尔文Directeur de Recherche,CEA/DRFDirecteurdeth`eseM.福斯托·马尔瓦吉高级专家,CEA/DEN昂卡兰特M.埃默里克·布伦Ing'enieur,CEA/DEN昂卡兰特雷苏梅埃蒙特卡罗(MC)方法在求解中子输运方程中的应用范围很小,但在求解中子输运方程时,MC方法的应用范围很小。这种方法提供了一种最小化近似值的方法,这种方法可以使近似值最小化,但这种方法可以使近似值最小化,从而使模拟值的大小不受影响,从而使模拟值的计算复杂化。最后,我的一个版本规则是由一个强大的程序员来完成的,他们可以通过一个简单的算法来实现。今天,我们看到了许多架构的敌人(I n te l MIC),以及一些其他的技术人员,他们试图优化指标,并在一个不完整的MC中实现一个重要的目标。通过计算机模拟,我们计算出了与计算出的截面有效性有关的多个系数,从而使相互作用的概率降低,并使中子在一个电子显微镜下的散射增强L'approche convention- nell econsiste ` a pr'e-calcul e r a v a n t l a simulation n le s sections effectivaces déchaque y p e de nuc l'eide,` a chaqu e tem p'erature i n ter vena n t dan s l e system `eme ` a parti r de s information de s bibliot h ` eques d e nuc l'eair es,et rangesdan s table s in déx 'parr l ' ees inciden te. 我不想让他们在我的房间里过夜。在计算过程中,它不会使计算结果与表中的数据相关联,因此可以快速地将MC的数据传输到计算机上,从而可以计算出最小值,并在计算机上进行处理。但在这种情况下,l'essentielutempsdecalculseconcencentresurdesreachchesdanscestablesdeprobabilit'es,quisontdetailestr`esvariablesenfonsideredechaquenucl'eide.在最大限度地减少冲突后,我们将继续努力,最好是及时收集所有租金,以便在冲突结束后尽快收回租金。在第一个时间点,现在我们已经学习了,并且支持多个变量交替地使 用 一 个 recherchebinaireconnve ntionnelle , 告 诉 我 们 一 个 rechercheN-aire ( 变 量ntevectori s'eedelarecherchebinaire ) 和 一 个 recherchelin'eairevectori s'ee 。Lesevaluationsmo ntrentqu'un e ac c e l eration significati v e p eut etre obte n u e parrap p ort `a l a re c her ch e binaire co n v e n tionnell e ` a l a foi s sur CPU classique et ar c hitectur ema n y-cours. 因此,研究N-aire的效果不如研究binaire的效果好,因为它表明了我们在实现 矢 量 化 方 面 所 做 的 努 力 , 因 此 , 我 们 的 目 标 是 减 少 污 染 , 提 高 利 用 率 。 Lavectorisationdécertainsdesalgorithmess'e s t mont r ′ ee efficace sur l'arc hitectur e MI Cgraviace ` a ses units es vectorielles de e 512 bits.Cettea m'eliorationestmoinsnett esurCPU,ou`lesregistre svectoriels'eta ntdeuxfoispluspetits. 在第二部分中,我们研究了多个结构,这些结构不可能有效地优化表格的效率。是的,我有一个能源格栅,如果我 看 到 它 是 一 个 plusperformantedanstouslescas 。Cetypem'ethodesynth'etisetousles我II表xnl,donclareceiverchedanslatableenCascadefractionnaire,unncompromissimilaireutilisantmoinsd'espac e m'emoire,est 'egaleme n t imp l'eme n t'eeet 'e val u'e e. Lesm'ethodesd'acc`espartablesdehachage,avecdesstrt'egiesdehachagelin'eairesetmusmiques,pr'esentelemeileurcompromisentreperverseetem-preintem'emoire. 现有的算法有很多,现在我们使用的是N元映射的辅助算法,它可以帮助 我 们 快 速 访 问 存 储 器 中 的 数 据 库 和 向 量 寄 存 器 。 Toutescesvaria ntesso nt'e valu'eessurlessystem t`emesdemulti-cæursetdema ny-cæurs. 因此,由于饱和度下降,以及矢量化算法的需求,因此无法降低效率。在其他方面,现代建筑的计算能力是一个巨大的挑战。 Uneoptimizationsupp l′eme ntairecommelar′eductiondeelam′emoires ' a v ` ere t r ` esim porta n t e car elle a m ′ eliore en camparti e le s performances informatiques.Unautreprobl`emem ajeurdecesm'ethodesestl'emprei n t e m'emoire t r ` es imp orta n t equ'elle s induise n t quan grand no m bre d e tem p'eratures so n t ` a consi d' erer comme par e exempl e dan l e crat d 'n couplage ` a l a thermo-hydraulique. 实际上,这些部分有效地提供了一个单一的临时性,但这并不意味着它是一个单一的模拟,它代表了一个在数十亿个空间中的临时性,因为它不可能在多个临时性中进行模拟。在解决这个问题后,我们将研究一种近似于激进的方法:有效地重建部分。L'id'eeestd'ealiserlecalculdessection-tionsefficaces`apartirdesdon'es'el'ementairessetrouvantdanslesbiblioth`equueesdedonn'eesnucl'eaires(acquitiondesr'esonances)ainsiqueletraitemententemp'erature('elargissementDoppler)pendantlasimulation,`achaquefoisqu'enesectionefficaceestn'ecessaire. Cetalgorithme,tr`escalculatoire,reposesuruneformulationsimilaire`acelleutilis'eeandslecalculdesbiblioth`equesstandardsdeeneutronique. Cetteapr oceper-metdepasserd'un prob l ` eme de et y pe“memory-bound”` aun prob l ` eme de et y pe“comput-bound” : ses quelque s variables pour chaqu er'esonance so n 'ecessaires au lie ude la table conv e ntionnelle. 我的波纹空间很大,因为它是在交流中产生的。 Cettem'eth odeestce penda ntextrememe ntcoperateuseentempsdecalcul. 经过一系列优化,我们的解决方案在Landing 7250上实现了1,806 GFLO PS(一个简单的决定),其中67%的重建效率不高。CelapermetMemesice seffortsIII“alavol′eeresteencorebeaucouppluslentqueelesm′ethodesderececherchenvement-nelles.”未来的工作将不再集中于优化算法--类似于多目标函数的方法或算法。 Sicetravails'estconcentr'esurlesarchitecturesmannyy-cours,lesimpl'emationssuraccel'erateurgraphique(GPGPU)m'eritentd'aetre'etudi'eespouresp'ererattaindredesperformancesplusseeev'ees.一 个折衷的解 决 方 案 , 既能最大限度地提高性 能 ,又能降低能源消耗。Ainsilesalgorithmespropo sesdevronntcheetrer′exami n′essousl'angledelaconsommation′energ′etiqueettpascheetriementsurleurperversebruteouleurocupationm′emoire.确认我首先要感谢我的论文指导,克里斯托夫卡尔文,他给了我一个机会,作为一个博士。他是一个学生,每次我遇到麻烦时,他都会闪电般的支持我我很感激他在我三年的学习中给予我的英明指导和包容我感谢我的顾问福斯托·马尔瓦吉对我的耐心,以及他愿意分享他对这个领域的宝贵见解。我真的很怀念我们每周五在他办公室吃完午饭后的讨论。我还要感谢我的顾问Emeric Brun,感谢他在处理技术问题时提供的帮助感谢他在无数次的ssh连接中记住了我女朋友我感谢弗兰乔瓦-X和Hugot在治疗OCam方面的出色表现,以及他的技巧。我要感谢英特尔的Philippe Thierry,他总是为我们提供最新的硬件。 我要感谢David Chamont作为我的学术顾问。具体地说,我感谢EDFR D的PierreGu'erin在HPC和Monte Carlo输运领域的我感谢Maison de la Simulation的负责人Edouard Audit接受我在这个实验室学习。我还要感谢Michel Kern邀请我来做这个演讲,感谢Val'erieBelle和所有帮助我做numerou管理工作的秘书,感谢Pierre Kestener、Julien Derouillat和Martial Mancip的硬件支持,感谢Pascal Tremblin对我学习生活的跟踪。此外,我还同阿尔诺·迪罗谢、亚辛·乌尔德-鲁伊斯、马蒂厄·黑费勒、马蒂厄·洛贝、克桑德·埃贾瓦尼和朱利安·比戈进行了有益的会谈。我还要感谢所有现任和前任MDLS成员,他们的名字没有在这里列出。我的感激之情自然要感谢华中科技大学中法项目的同学们,从2008年在中国一直到现在在法国。我们在这次冒险之初相遇,现在我们大多数人都有博士学位。标题.我的家人,感谢你们的理解和坚定的支持。v内容R'esum'ei鸣谢v目录vi图表Xi表xiii1介绍11.1蒙特卡罗模拟器1.2HPC和硬件演进21.3动机和目标31.4轮廓62现代并行计算92.1计算架构92.1.1CPU架构92.1.1.1内存访问102.1.1.2硬件设备122.1.1.3Sandy Bridge和Broadwell122.1.2多个集成核心132.1.2.1骑士角132.1.2.2骑士登陆162.1.3GPGPU202.1.3.1特斯拉P100212.2编程模型222.2.1OpenMP222.2.2线程构建块222.2.3OpenACC232.3矢量化232.3.1A.方法. 272.3.1.1内在282.3.1.2指令29VII2.3.1.3图书馆302.3.1.4自动矢量化302.4性能分析的有用工具312.4.1TAU312.4.2英特尔VTune322.4.3英特尔优化报告342.4.4英特尔Advisor363蒙特卡罗中子模拟413.1核反应堆413.2核反应423.2.1横截面433.3温度对横截面3.4中子运输463.4.1中子输运方程463.4.2蒙特卡罗模拟473.5模拟代码493.5.1MCNP493.5.2特里波利493.5.3PATMOS503.6HPC和蒙特卡罗运输513.6.1基于历史和基于事件543.6.2加速器553.6.3横截面计算563.6.4共享内存Model574能量平衡算法594.1工作环境594.1.1机604.1.2PointKernel基准测试604.2移植和分析604.2.1改编自KNC604.2.2代码分析614.2.2.1英特尔Sandy Bridge614.2.2.2关于KNC624.3二进制搜索和替代搜索方法624.3.1手动二进制搜索634.3.2矢量化N-ary搜索644.3.3矢量化线性搜索654.3.3.1C++成员变量的数据对齐4.3.4不同搜索算法674.4联合能源网694.4.1Unionized方法的优化694.4.1.169岁4.4.1.2数据结构714.5分数级联714.5.1重新排序的分数级联72目录.ix4.6哈希映射734.6.1同位素散列734.6.2材料散列744.6.3高效的哈希策略744.6.3.1哈希大小744.6.3.2对数与 线性哈希.........................................................................754.6.3.3Hashing Bins中的搜索效率754.7N-aryMap764.8完整模拟结果784.8.1业绩784.8.2内存优化784.8.3可扩展性794.8.4最新架构的结果815横截面重建835.1工作环境835.1.1机器835.1.2PointKernelBenchmark845.2算法845.2.1解析共振区域公式845.2.1.1单能级Breit-Wigner845.2.1.2多能级Breit-Wigner875.2.1.3多普勒增宽875.2.2Faddeeva函数885.3实施和优化885.3.1Faddeeva实施885.3.1.1 ACM680W895.3.1.2 MITW895.3.2标量调谐905.3.2.1算法简化915.3.2.2代码重组915.3.2.3强度降低925.3.2.4STL函数935.3.3矢量化935.3.3.1崩溃935.3.3.2无算法分支945.3.3.3循环分裂955.3.3.4DecemberSIMD指令955.3.3.5Float965.3.3.6SoA975.3.3.7数据对齐和数据填充975.3.4螺纹975.4测试和结果985.4.1Faddeeva函数的单元测试985.4.1.1初步数值评估995.4.2PATMOS100重建5.4.2.1截面计算单元测试1005.4.2.2在PointKernel101中的性能5.4.2.3内存要求1025.4.2.4屋顶线分析1035.4.3能量查找与动态重建1046结论与展望1076.1结论1076.2未来的工作109参考书目111图目录2.1计算机架构。............................................................................................................102.2由寄存器、高速缓存和内存组成的现代内存层次结构112.3硬件级并行,其中T是线程,C是核心,MC是内存控制器。............................ 122.4Knights Corner协处理器核心的抽象。................................................................ 142.5Knights Corner协处理器的环组织152.6骑士登陆处理器的组织。........................................................................................162.7Knights Landing处理器中的内存模式..................................................................182.8CPU和GPU之间的架构差异:CPU是窄的和深度,而GPU是宽和浅202.9Pascal P100流式多处理器。................................................................................... 212.10 向量化是重写多个独立指令一个SIMD指令......................................................................................................... 242.11 基本热点分析的摘要报告。....................................................................................322.12 自下而上的报告显示从最大到最小的热点。........................................................332.13 识别源代码中与热点对应的指令............................................................................332.14 顾问分析与跳闸计数和FLOPS的目标程序上布罗德韦尔建筑........................................................................................................372.15 使用Advisor进行直接Roofline分析...................................................................... 382.16 简单Roofline模型的一个例子。.............................................................................383.1与能量有关的截面表1H和 238U433.2390种同位素在T=300K时的同位素能量表长度最小的是3H,只有469个能量点,最大的是238 U,十五万六千九百七十六点。所有同位素的平均长度约为12,000。..................443.3中子从诞生到消失的随机游走过程........................................................................484.1英特尔Sandy Bridge上PointKernel的调用者-被调用者视图。......................... 624.2英特尔Sandy Bridge上PointKernel的TAU分析。..............................................634.3作为数组大小函数的几种搜索方法的性能。标准的二叉搜索已经在两个不同的实现中进行了测试,一个来自STLstd::lowerbound,另一个重写手动二进制(Manual Binary)............................................................................. 684.4同位素的平均散列箱大小彼此显著不同754.5用N元映射方法平衡箱大小。................................................................................ 764.6朴素原型(越低越好)。........................................................................................................794.7PointKernel测试用例的能量查找算法的加速。.................................................. 804.8竞争能量查找算法的执行性能................................................................................81Xi×图十二4.9KNL显示1. 5通过使用超线程,能量查找算法的性能优于KNC。............824.10 对于能量查找算法,BDW比KNL显示出>2倍的加速比.....................................825.1动态多普勒展宽应用于谐振区域。........................................................................855.2在单个线程上执行100,000,000次Faddeeva函数调用的性能测试。............ 995.3在BDW和KNL上FLOP使用PointKernel基准测试............................................1025.4对KNL的朴素实现进行Roofline分析..................................................................1035.5对KNL的优化实现进行Roofline分析..................................................................1045.6内存模式对KNL的性能影响。.............................................................................105表的列表2.1 Intel处理器家族4.1使用不同方法初始化未合并网格的时间................................................................704.2PointKernel测试用例的优化unionized方法的加速.............................................. 714.3分数阶级联映射的同位素序效应对于PointKernel测试用例。..................................................................................724.4哈希箱中的搜索性能(N=500)。........................................................................ 764.5的能量查找算法的性能和存储器使用测试用例...................................................................................................................784.6内存优化后的性能和内存使用情况........................................................................795.1在单个线程上调用100,000,000个Faddeeva函数的消耗时间,并进行累积优化。............................................................................................................................985.2Faddeeva实现的准确性评估.................................................................................1005.3截面计算率的评价。..............................................................................................1005.4每批的计时性能(s)以及累积优化1015.5每批截面计算方法的时间性能。104XIII第1介绍能量不是凭空产生的,只能从一种形式转化为另一种形式。与煤或天然气等其他能源相比,核能源的能量要高出“百万倍”[ 1 ],因为致密的原子核几乎代表了原子的全部质量,但直径要小六个原子核是非常稳定的,因为它内部的质子和中子被强核力束缚在一起。这种稳定性可以被某些反应打破,例如,当裂变核素吸收自由中子时,它很有可能变得不稳定并分裂成更小的部分。在这个分裂过程或裂变过程中,释放出大量的能量目前的核电站利用这些能源产生热量,然后驱动蒸汽涡轮机发电。核能被认为是能源危机的重要解决方案[2],因为它是所有商业基本负荷电力技术中二氧化碳排放量最低的技术之一[3]。目前,法国约75%的电力来自核能,这是世界上最高的比例[4]。1.1蒙特卡罗中子学考虑到核能的强大和广泛应用,我们应该仔细考虑与核相互作用有关的所有设备的设计和安全运行,如欧洲核子研究组织(CERN)的核反应堆和大型强子对撞机(LHC)[5],其中蒙特卡罗(MC)方法用于解释大量的实验数据[6]。更确切地说,中子输运致力于研究中子与材料的运动,并进一步了解反应堆在给定条件下的行为至于模型化,这个问题可能是1第1章介绍2玻尔兹曼输运方程(Boltzmann Transport Equation,BTE)求解该方程有两种流行的方法:随机方法和确定性方法.在这两种方法中,随机MC方法主要应用于核领域,以执行参考计算[7,8],因为它在数值上是准确的,近似值很少这种方法通过跟踪系统内的中子从诞生到吸收或泄漏来模拟物理学中子生命周期中的整个轨迹历史中的所有随机运动都由微观截面描述的相互作用概率决定像中子密度这样的宏观量可以通过重复大量的历史来估计,这使得MC方法比确定性方法在计算上昂贵可以想象,MC方法的缓慢收敛导致需要在大型超级计算机上运行模拟才能在合理的时间内为实际问题产生结果1.2HPC和硬件发展高性能计算(HPC)是指使用聚合的计算能力来解决由于各种因素(例如,有限的计算能力、难以负担的存储器需求等)而无法在个人桌面上处理的大型问题。通过将大量计算单元组装到一个系统中,HPC通过平台内各个单元的算术运算和数据收集来它将架构、系统、算法和应用程序等技术聚集在一个屋檐下,以有效、快速地解决问题高效的HPC系统需要高带宽、低延迟的网络来连接多个节能节点或处理器。由于科学,工程和商业的大量需求,这个多学科领域迅速发展。硬件架构的发展对HPC社区产生了巨大的影响。在2002年之前,处理器性能的提高主要是通过增加每个集成电路的晶体管数量来实现的[9]。根据摩尔定律[ 10 ],这个数字每18个集成电路中的晶体管数量越大,每个晶体管的尺寸越小,这允许实现更快的时钟速率。结合更复杂的架构和组织设计,当时的程序几乎不需要优化,因为它的计算能力随着更高的运行频率而不自觉地增强然而,这样的免费午餐已经结束了:更高频率带来的过热已经接近空气冷却的极限,更不用说时钟速度和功耗之间存在立方依赖关系。这就是著名的功率墙:处理器在频率和功率要求上的急剧跳跃,由于热损失,性能的从那时起,现代建筑的概念第1章介绍3在片上具有多个处理器的情况下,更简单的流水线和更低的工作频率成为焦点。这种新兴加速器的一个代表是英特尔多集成核心架构(MIC)[11]。它还存在其他竞争对手,如通用图形处理器(GPGPU),众核SW 26010 [12],Matrix-2000 GPDSP(通用数字信号处理器)[13],Sun SPARC 64 [14]等。在2016年11月的500强名单中,500个系统中有86个使用加速器或协处理器技术。此外,这86个系统占据了前117台超级计算机的很大一部分,其性能超过一个PFLOPS(Peta浮点运算每秒)。结合或不结合主机CPU(中央处理器),低频加速器已经开始在社区中发挥重要作用随着计算能力的不断提高,处理器和存储器之间的发展差距越来越大,称为存储墙与处理器速度每年50%的增长率相比,内存速度每年仅提高10%[16]。据预测,内存速度将成为计算机性能的压倒性瓶颈[9]。这个双壁问题是棘手的,因为每次我们专注于优化一堵墙,我们就会加剧另一堵墙。1.3动机和目标计算科学代表了一个广泛的学科,它使用HPC来理解和解决复杂的问题,其中MC中子学已被选为即将到来的exascale计算的22个关键应用之一[17]。Exascale表示具有多个exaFLOPS性能的系统与今天的千万亿次计算相比为了实现这一点,新的处理器架构仍然未知,但肯定会以低时钟速率运行,因此单个芯片上的处理单元数量将不得不增加[20]。内存带宽和容量可能无法跟上FLOPS的改进[21],这使得某些当前算法不再实用。因此,现代算法应该被设计为具有高FLOP使用率,并尽可能减少数据移动,以兼顾能量和性能。内存约束算法将越来越多地受到未来体系结构的影响,并将被其他计算约束算法超越自科学计算出现以来,MC输运的基本原理已经建立[22];尽管不时出现一些新的物理学来改进它,但原理仍然是相同的。为了准备百万兆尺度的MC运输,应认真考虑以下几个问题:
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功