课题基金 / 基金详情

Low latency abstractions for extreme scale simulation.

Low latency abstractions for extreme scale simulation.
用于极端规模模拟的低延迟抽象。
批准号:
2478907
负责人:
金额:
$0.0万
依托单位:
依托单位国家:
英国
项目类别:
Studentship
财政年份:
2024
资助国家:
英国
项目状态:
未结题
起止时间:
2024 至 --

项目摘要

项目成果

相似基金

相关文献

中文摘要
翻译
高保真数值模拟在理论和实验之间架起了桥梁,在许多科学领域都是必不可少的。在研究海洋或大气等复杂系统时尤其如此,在这些系统中,理论无法精确解决,实验很难,甚至不可能进行。从历史上看,高性能的数字代码都是用C和Fortran等低级编译语言编写的。虽然这样的代码可以是高效和高性能的,但它们很难编写和维护,因为编码人员需要了解问题的各个方面,从抽象的数学描述到具体的并行实现。对数学和/或平台的任何更改也可能需要大量的重新编码。运行时代码生成(RTCG)是这些问题的解决方案。性能关键部分不是从低级代码开始,而是在程序运行时生成,然后在使用它们之前使用即时(JIT)编译器进行编译。这种方法允许在数学和计算机科学之间引入抽象,允许来自任何一个领域的专家(但不一定是两个领域的专家)为代码做出贡献。在允许的数学结构和它可以运行的平台方面,代码也可以更加灵活。在当前的计算环境中,到目前为止,使代码运行得更快的最简单方法是在功能更强大的计算机上运行它。因此,必须将问题分解并分布在整个机器上,以便并行解决。人们可能会天真地认为,在计算能力提高一倍的机器上运行问题将使解决问题的时间缩短一半,但不幸的是,这种情况很少发生。在所有的软件中都有不能并行运行的程序元素。随着处理器数量的增加,这个串行开销在总运行时中所占的比例越来越大,直到无法再加速为止。这种效应被称为强标度,在阿姆达尔定律中被形式化。本文的重点是Firedrake项目,这是一个使用有限元法(FEM)数值求解偏微分方程的库。Firedrake使用RTCG创建一个用于组装矩阵的高性能内核。不幸的是,与其他FEM软件包相比,在矩阵组装和求解线性系统时,Firedrake在小问题极限(类似于固定数量处理器的强尺度极限)上的可扩展性很差。随着问题规模的减小,到解决方案的时间趋于稳定,其值比理想值大得多。目标和目标改进Firedrake在小问题限制中的伸缩行为目标概述Firedrake识别性能瓶颈可能重写Firedrake的并行调度层(PyOP2)以扩展jit编译的内核并减少执行Python所花费的时间研究方法的新颖代码生成是仿真科学中的新兴技术。通过将复杂的数值和先进的并行实现相结合,科学家可以想象任何微分方程,这项技术将生产力和性能结合在一起,使更多的科学家能够进行比以往任何时候都更复杂的模拟科学。与EPSRC的战略主题和研究领域保持一致。该项目涵盖工程、信息通信技术、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病毒潜伏蛋白表达的机制研究
结核分枝杆菌持续感染期抗原(latency antigens)的重组BCG疫苗研究