Low latency abstractions for extreme scale simulation.
Low latency abstractions for extreme scale simulation.
批准号:
2478907
负责人:
金额:
$0.0万
依托单位:
依托单位国家:
英国
项目类别:
Studentship
财政年份:
2024
资助国家:
英国
项目状态:
未结题
起止时间:
2024 至 --
中文摘要
高保真数值模拟弥合了理论和实验之间的差距,在许多科学领域都是必不可少的。在研究海洋或大气等复杂系统时尤其如此,因为理论无法精确求解,实验很难甚至不可能进行。从历史上看,高性能的数字代码都是专门用低级编译语言(如C和Fortran)编写的。虽然这样的代码可以是非常高效和性能,他们是难以编写和维护的编码器需要了解从抽象的数学描述到具体的并行实现的问题的所有方面。对数学和/或平台的任何更改也可能需要大量的重新编码。可编程代码生成(RTCG)是解决这些问题的一种方法。性能关键部分不是从低级代码开始,而是在程序运行时生成,然后在使用之前用即时(JIT)编译器编译。这种方法允许在数学和计算机科学之间引入抽象,允许来自任何一个领域的专家(但不一定是两者)为代码做出贡献。代码在允许的数学结构和运行平台方面也可以更加灵活。强大的可伸缩性在当前的计算环境中,到目前为止,让代码运行得更快的最简单方法是在功能更强大的计算机上运行它。因此,必须将问题分解并分布在机器上,以便并行解决。人们会天真地认为,在具有两倍计算能力的机器上运行您的问题将导致解决时间减半,但不幸的是,情况很少如此。在所有软件中,都有一些程序元素不能并行运行。随着处理器数量的增加,这种串行开销最终会占用总运行时间越来越大的一部分,直到无法再加速。这种效应被称为强缩放,并在Amdahl定律中正式化。Firedrake这篇论文的重点是Firedrake项目,一个使用有限元法(FEM)数值求解偏微分方程的库。Firedrake使用RTCG创建了一个用于组装矩阵的高性能内核。不幸的是,与其他FEM软件包相比,Firedrake在矩阵组装和求解线性系统时,在小问题限制(类似于固定数量处理器的强缩放限制)中的缩放效果很差。随着问题规模的减小,解决问题的时间在一个比期望值大得多的值上达到稳定。目标和目的目标在小问题限制下改进Firedrake的扩展行为目标剖析Firedrake以识别性能瓶颈可能重写Firedrake(PyOP 2)的并行调度层以扩展JIT编译的内核并减少执行Python所花费的时间研究方法的新奇代码生成是仿真科学中的新兴技术。通过为科学家可以想象的任何微分方程实现复杂的数值和高级并行实现,这项技术将生产力和性能结合在一起,使更多的科学家能够进行比以往任何时候都更复杂的模拟科学。符合EPSRC的战略主题和研究领域。该项目涵盖工程,ICT,LWEC,制造未来,数学科学和物理科学主题。它位于连续力学研究区。合作者:劳伦斯·米切尔博士,达勒姆大学
英文摘要
High-fidelity numerical simulations bridge the gap between theory and experiment and are essential in many areas of science. This is particularly the case when studying complex systems such as the ocean or atmosphere where the theory cannot be solved exactly and experiments are hard, or even impossible, to perform. Historically, high-performance numerical codes have been written exclusively in low-level, compiled languages such as C and Fortran. While such codes can be highly efficient and performant, they are difficult to write and maintain as the coder is required to understand all aspects of the problem from the abstract mathematical description to the specific parallel implementation. Any changes to the mathematics and/or platform are also likely to require significant amount of re-coding. Runtime code generation (RTCG) is a solution to these problems. Rather than starting with the low-level code, the performance critical sections are generated during the program runtime and then compiled with a just-in-time (JIT) compiler before they are used. This approach permits abstractions to be introduced between the mathematics and computer science, allowing specialists from either domain, but not necessarily both, to contribute to the code. The code can also be much more flexible regarding both the mathematical constructs allowed and the platforms that it can run on. Strong scaling In the current computing landscape, by far the easiest way to make your code run faster is to run it on a more powerful computer. It is therefore essential that the problem can be broken apart and distributed across the machine for solving in parallel. One would naively assume that running your problem on a machine with twice the computing power would lead to a halving of the time-to-solution but unfortunately this is rarely the case. In all pieces of software there are elements of the program that cannot be run in parallel. As the number of processors increases, this serial overhead ends up taking up an increasingly large fraction of the total runtime until no more speedup is possible. This effect is known as strong-scaling and is formalised in Amdahl's Law. Firedrake This thesis focuses on the Firedrake project, a library for numerically solving PDEs using the finite-element method (FEM). Firedrake uses RTCG to create a high-performance kernel that is used to assemble matrices. Unfortunately, compared with other FEM packages, Firedrake scales poorly in the small-problem limit (analogous to the strong-scaling limit for a fixed number of processors) during both matrix assembly and when solving the linear system. As the problem size decreases, the time-to-solution plateaus at a much greater value than is desirable. Aims and objectives Aims Improve the scaling behaviour of Firedrake in the small problem limit Objectives Profile Firedrake to identify performance bottlenecks Possibly rewrite the parallel scheduling layer of Firedrake (PyOP2) to expand the JIT-compiled kernel and reduce the time spent executing Python Novelty of the research methodology Code generation is an emerging technique in simulation science. By enabling the composition of sophisticated numerics and advanced parallel implementation for any differential equation the scientist can imagine, this technology combines productivity and performance in a combination which enables more scientists to conduct more sophisticated simulation science than ever before. Alignment to EPSRC's strategic theme and research area. This project spans the Engineering, ICT, LWEC, Manufacturing the Future, Mathematical Sciences, and Physical sciences themes. It sits in the Continuum Mechanics Research area. Collaborators: Dr Lawrence Mitchell, Durham University
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
国内基金
海外基金
DNA糖苷酶OGG1调节PARP1介导的EB病毒潜伏蛋白表达的机制研究
-
批准号:32000546
-
项目类别:青年科学基金项目
-
资助金额:24.0万元
-
批准年份:2020
-
负责人:郝文静
-
依托单位:
结核分枝杆菌持续感染期抗原(latency antigens)的重组BCG疫苗研究
-
批准号:30801055
-
项目类别:青年科学基金项目
-
资助金额:19.0万元
-
批准年份:2008
-
负责人:王丽梅
-
依托单位: